关于在ApacheWorkbookFactory上找不到close和方法的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于1npoi网上不用模板设置密码workbook.WriteProte
关于在Apache WorkbookFactory上找不到close和方法的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook ("password", "admin"); 、...、Apache POI 3.9:未找到WorkbookFactory方法、Apache poi workbookfactory 从 xlsx 创建 HSSFWorkbook,但我希望 XSSFWorkbook、Apache POI框架使用XSSFWorkBook抛出异常等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 在Apache WorkbookFactory上找不到close()方法(apache找不到指定路径)
- 1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook ("password", "admin"); 、...
- Apache POI 3.9:未找到WorkbookFactory方法
- Apache poi workbookfactory 从 xlsx 创建 HSSFWorkbook,但我希望 XSSFWorkbook
- Apache POI框架使用XSSFWorkBook抛出异常
在Apache WorkbookFactory上找不到close()方法(apache找不到指定路径)
我读了有关Apache
WorkbookFactory的文章
指南说完成后要关闭工作簿。“使用后应关闭工作簿”
但是我没有关闭它的关闭方法。
如何关闭?
Workbook wb = WorkbookFactory.create(tempFile);wb.close();
我正在使用Apache poi Maven 3.9版
The method close() is undefined for the type Workbook ... line 423 Java Problem
注意1:为了正确释放资源,使用后应关闭工作簿。
注意2:同样,从InputStream加载比从File加载需要更多的内存。
答案1
小编典典在Apache WorkbookFactory上找不到close()方法
您需要关闭Workbook
,而不是关闭其工厂。
注意1:为了正确释放资源,使用后应关闭工作簿。
正确。
注意2:同样,从
InputStream
加载比从加载需要更多的内存。File
不正确,除非InputStream
是ByteArrayInputStream
。
1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook ("password", "admin"); 、...
1 workbook.WriteProtectWorkbook ("password", "admin"); 还是可以进去 只读进去 可以编辑 编辑就另存为
2
HSSFCellStyle locked = hssfworkbook.CreateCellStyle();
locked.IsLocked = true;
cel1.SetCellValue ("没被锁定");
cel1.CellStyle = unlocked;
cel2.SetCellValue ("被锁定");
cel2.CellStyle = locked;
sheet1.ProtectSheet("password");
3 模板设置密码 读取模板确定原密码 设置新密码
用 excel 新建一个文件作为模板,可以是空内容,在 excel 中对文件进行加密,如密码为:12345。
. 在 NPOI 读取前,调用:Biff8EncryptionKey.CurrentUserPassword = "12345";
. 在读取后调用:hssfworkbook.WriteProtectWorkbook ("new Password", "user");
1
2
3
4
5
6
7
8
9
10
11
12
|
string
path =
@"E:\test.xls"
;
//刚用excel新建的模板文件
FileStream file =
new
FileStream(path, FileMode.Open, FileAccess.Read);
Biff8EncryptionKey.CurrentUserPassword =
"12345"
;
//打开前调用
HSSFWorkbook hssfworkbook =
new
HSSFWorkbook(file);
hssfworkbook.WriteProtectWorkbook(
"123456"
,
""
);
//设置新密码
file.Close();
ISheet sheet = hssfworkbook.GetSheetAt(0);
// 插入数据操作。。。
//保存文件
FileStream savefile =
new
FileStream(
@"E:\test1.xls"
, FileMode.Create);
hssfworkbook.Write(savefile);
savefile.Close();
|
我试过不用模板,而直接新建 workbook,然后设置密码,结果不管用,不知道什么原因,不过问题总算还是解决了。
注 千万记住 如果第三种方法 试了 报错 Name is too long
那就是 模板所属用户问题
左边是对的
Apache POI 3.9:未找到WorkbookFactory方法
在我的应用程序中,我已使用Apache POI 3.8进行XLS文件处理。
现在,我想迁移到Apache POI 3.9最新且稳定的版本。我在应用程序中添加了JAR文件poi-3.9-20121203.jar,并删除了与POI
3.8相关的JAR。
但似乎在3.9版本中,WorkbookFactory类已被删除。
那么如何在Apache POI 3.9中创建Workbook
with WorkbookFactory
?
我提取了JAR并进行了检查,没有类似的类WorkbookFactory
。
谁能告诉我如何使用POI 3.9创建新工作簿?
答案1
小编典典您缺少几个JAR。看一下POI组件页面,您将看到需要POI-3.9
jar,POI-OOXML-3.9 jar及其各自的依赖性。
如果要使用其他任何格式(例如doc,docx,ppt,pptx),则还需要POI-Scratchpad-3.9
jar。如组件页面所示,在使用OOXML文件格式(例如.xlsx)时,您将需要POI-OOXML_Schemas-3.9 jar或更大的完整OOXML-
Schemas-1.1 jar。
此外,自从提出此问题以来,Apache
POI已经发布了两个新版本,其中修复了许多错误,并添加了新功能,因此值得使用最新版本(撰写本文时为3.11)而不是3.9!
Apache poi workbookfactory 从 xlsx 创建 HSSFWorkbook,但我希望 XSSFWorkbook
如何解决Apache poi workbookfactory 从 xlsx 创建 HSSFWorkbook,但我希望 XSSFWorkbook?
我正在尝试通过以下调用从 file.xlsx 创建 XSSFWorkbook:
1. XSSFWorkbookFactory.create(file) -> return hssfWorkbook
2. WorkbookFactory.createXSSFWorkbook(file) -> While trying to invoke ''createWorkbook'' on factory org.apache.poi.xssf.usermodel.XSSFWorkbookFactory and arguments [path to file.xlsx]
3. OPCPackage.open(file) -> The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to process this data (eg hssf instead of XSSF)
XSSFWorkbook wb = new XSSFWorkbook(pkg);
4. XSSFWorkbookFactory.createWorkbook(new FileInputStream(file)) -> The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to process this data (eg hssf instead of XSSF)
我需要将文件读取为 XSSFWorkbook 以读取和设置图表的新参数。 任何想法,为什么我会发现此错误以及为什么从第 1 项开始返回 hssfWorkbook?
我检查了几次,文件的扩展名为 .xlsx。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Apache POI框架使用XSSFWorkBook抛出异常
这个方法内是获取一个workbook对象 此时的fileName值为图上所示
之后走到了这一行
此时的inputStream值为
再往下走就直接报错 异常也无法catch住
java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook
这是报的错误 同样是这一行代码 也会出现ClassNotFoundExcetion 也是针对XSSFWorkdbook这个一个类抛出的
在网上搜寻无果 还请各位前辈看看,是哪里出现了错误 不胜感激!
关于在Apache WorkbookFactory上找不到close和方法的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook ("password", "admin"); 、...、Apache POI 3.9:未找到WorkbookFactory方法、Apache poi workbookfactory 从 xlsx 创建 HSSFWorkbook,但我希望 XSSFWorkbook、Apache POI框架使用XSSFWorkBook抛出异常的相关知识,请在本站寻找。
本文标签: