GVKun编程网logo

在Apache WorkbookFactory上找不到close()方法(apache找不到指定路径)

24

关于在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找不到指定路径)

在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

不正确,除非InputStreamByteArrayInputStream

1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook (

1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook ("password", "admin"); 、...

1 workbook.WriteProtectWorkbook ("password", "admin"); 还是可以进去 只读进去 可以编辑 编辑就另存为  

 

 

 

 

 

 

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");

C# code
 
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.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中创建Workbookwith 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

如何解决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抛出异常

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抛出异常的相关知识,请在本站寻找。

本文标签: