C#. xlsx日期单元格导入DataTable by NPOI 2.0
我尝试使用NPOI 2.0库将.xlsx文件转换为数据表格式.没关系,但是我在转换为字符串日期单元格时有问题.当我尝试使用诸如row.getCell(j).toString()之类的构造时,它是"无法从文本单元格中获得数字值"的例外.我尝试使用DateCellValue属性,但也抛出了此例外.使用其他单元格式,它的工作状态很好. 功能,我使用的是: private DataTable xlsxToDT(string fileName) { DataTable table = new DataTable(); XSSFWorkbook workbook = new XSSFWorkbook(new FileStream(fileName, FileMode.Open, FileAccess.Read)); ISheet sheet = workbook.GetSheetAt(0); IRow headerRow
22 2024-04-21
编程技术问答社区
如何为Excel中使用NPOI创建的单元格设置验证功能
我使用以下代码 创建了一个卓越文件> var workbook = new HSSFWorkbook(); var sheet = workbook.CreateSheet("Candidate"); // Add header labels var rowIndex = 0; var row = sheet.CreateRow(rowIndex); row.CreateCell(0).SetCellValue("Name"); row.CreateCell(1).SetCellValue("1,2,3"); row.CreateCell(2).SetCellValue("4,5,6"); row.CreateCell(3).SetCellValue("7,8,9");
16 2024-04-21
编程技术问答社区
'OutOfMemoryException'读取20mb XLSX文件
我正在使用 npoi 来处理Excel文件.这是我正在阅读文件的方式: using (FileStream stream = File.OpenRead(excelFilePath)) { IWorkbook wb = WorkbookFactory.Create(stream); ... } 但是,对于大于少数兆字节的任何XLSX文件,它会导致内存使用量大约为1GB并最终抛出一个OOM例外. 做一些研究,我发现了 ,从文件中加载工作簿而不是流导致POI减少内存消耗.我想到的最接近的c#等效于我想到的文件示例: : OPCPackage pkg = OPCPackage.Open(new FileInfo(excelFilePath)); XSSFWorkbook wb = new XSSFWorkbook(pkg); ,但似乎使用了相同的基础实现,因为内存使用情况仍然相同,并导致OutofMemory Exceptions. NPOI是
16 2024-04-20
编程技术问答社区
如何将Liferay DXP与Apache POI集成?
我正在尝试将Apache POI集成到 liferay dxp(OSGI)中,但无法用Gradle Project中的POI 3.17版本解决依赖项. 我已经创建了独立的项目,其中jar的下面是: poi-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas-3.17.jar xmlbeans-2.6.0.jar Commons-Collections4-4.1.jar 另外,我在 build.gradle.gradle 中添加了下面添加的gradle依赖项 compile group: 'org.apache.poi', name: 'poi', version: '3.17' compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.17' compile group: 'org.apache.poi', name: 'poi-ooxml-schemas
8 2024-04-04
编程技术问答社区
com.android.tools.r8.a: MethodHandle.invoke和MethodHandle.invokeExact仅从Android O开始被支持(-min-api 26)。
实现'org.apache.poi:poi:5.0.0' 上面的依赖项使用运行"应用"在模拟器/电话上运行时正常工作,但是 当我尝试构建APK时,我会收到以下错误. com.android.tools.r8.a:MethodHandle.Invoke和MethodHandle.InvokeExact仅支持从Android O(-Min-API 26)开始 我尝试以下 如果我删除依赖项,则可以正常工作. 如果我更新Minsdkversion 21至26,则可以正常工作. 所以我的问题是 我想使用Minsdkversion 21,还要使用该依赖关系(此功能(Excel文件)仅可用于sdkversion> = 26) 那么我该如何实现? 预先感谢您. 解决方案 现在不可能. D8将仅允许编译26或更高的minSdkVersion使用Invoke-Custom和方法句柄的代码,因为这是第一个由Android支持的版本. 有一个打开问题有关
28 2024-04-04
编程技术问答社区
使用apache poi 3.9的Java程序在XML构建文件中遇到错误
hi在构建XML中遇到错误.从日志中,我认为错误是Apache POI库" POI-OOXML-3.9-20121203"以及有关Java版本的错误. 我目前正在使用JDK 4和Apache POI 3.9. Buildfile: C:\POITest\build.xml init: clean: [delete] Deleting directory C:\POITest\build [delete] Deleting directory C:\POITest\dist init: [mkdir] Created dir: C:\POITest\dist [mkdir] Created dir: C:\POITest\build [mkdir] Created dir: C:\POITest\dist\lib compile: [javac] C:\POIT
6 2024-04-04
编程技术问答社区
使用java.awt.image.BufferedImage来创建BIFF8 BITMAP记录需要很多时间,有没有更好的方法?
因此,我正在创建一个使用apache poi和自己的低级代码的背景位图设置的HSSFSheet. 像素数据(位图的高度线数组,从底线到顶线,请参见下文) ... 在每行中,所有像素都从左到右写.每个像素以3字节阵列存储:按照此顺序,像素的颜色的红色,绿色和蓝色分量.通过在最后一个像素之后插入零字节,每行的大小都与4对齐4的倍数. 有关完整声明,请参见PDF的图片: 为了实现这一点,我的方法是使用java.awt.image.BufferedImage具有BufferedImage.TYPE_3BYTE_BGR.然后从正确的顺序(从底线到顶行)从该缓冲图的栅格中获取所有字节r g b,并填充宽度为4的多个(x方向). 请参阅代码: import java.io.FileOutputStream; import java.io.FileInputStream; import org.apache.poi.hssf.usermodel.*; impor
46 2024-04-04
编程技术问答社区
在POI生成的Excel文件中为单元格添加边框
我正在使用POI生成Excel文件.我需要在工作表中的特定单元格中添加边界. 我该如何完成? 解决方案 在单元格中使用的样式设置边界将实现这一目标.示例: style.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM); style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); 其他解决方案 在较新的Apache POI版本中: XSSFCellStyle style = workbook.createCellStyle(); style.setBorderTop(BorderStyle.MEDIUM); style.setBorderBottom(BorderStyle.MEDI
12 2024-04-02
编程技术问答社区
Java安全异常BIRT和Apache POI破解版
我得到了 java.lang.SecurityException: class "org.apache.poi.POIXMLDocument"'s signer information does not match signer information of other classes in the same package 在Birt Core Jar和Apache Poi jar之间Birt Bug报告. 在错误报告中已经指出,这可以通过升级Birt来解决,但是当我这样做时,我会遇到另一个运行时错误,该错误只能通过降级来解决.因此,就目前而言,我在这里有点泡菜. 此评论说我应该能够解开apache poi jar,删除安全信息(Birt中没有任何内容示例),然后对其进行重新拉链,我应该很好地走,但是当我删除使用Apache POI的代码时,使用Apache POI不再编译,就像POI依赖性不再存在一样(是的,它在classPath上).此外,我还从我的Factive
14 2024-03-31
编程技术问答社区
调整apache poi柱状图中的图例和轴标题的大小
我使用Apache POI绘制了3D堆叠的条形图,并且在操纵左轴标题的字体大小和图表的传奇方面很难.我已经查看了找到在这里,但在这里 t确定哪个对象负责.我添加了我的代码和由此产生的图表,感谢您将任何帮助指向正确的道路的帮助. XSSFSheet sheet = wb.getSheetAt(0); // Bar chart coordinates XSSFDrawing drawing = sheet.createDrawingPatriarch(); XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 37, 16, 47); XSSFChart chart = drawing.createChart(anchor); // configure axis properties XDDFCategoryAxis bottomAxis = chart.
20 2024-03-27
编程技术问答社区
apache poi:如何创建同时具有条形和线形的图表?
是否可以在其中均带有bar和line的Apache Poi中创建图表?您可以找到一个示例如果是,您可以提供示例代码以实现这一目标吗? 期待您的回音.预先感谢. 解决方案 这是我发现的解决方案. 不幸的是,我无法更改线图的轴.但是,您可以轻松地在文件上手动更改此此内容.当您打开它时,单击"右键"按钮的线条顶部,然后选择"格式数据系列",您可以先将其更改为主轴,然后将其更改为辅助轴,这将获得图表完美!我真的不知道如何在代码上解决此问题,如果您发现的话,请与我分享! 您将需要JAR OOXML-SCHEMAS-1.3.JAR. 它的全部具有15MB. OOXML-SCHEMAS/1.3 我希望它有帮助! XSSFWorkbook workbook=new XSSFWorkbook(); XSSFSheet chartdisplay=workbook.createSheet("ChartDisplay") XSSFDrawing drawi
26 2024-03-27
编程技术问答社区
用Java编辑ppt中的条形图,使用poi
我是在工作中使用POI的新手.条形图所属的Excel. 但是,一旦我修改了条形图的列标题,我默认情况默认情况下只能读取前三列,或者只想在只有一个只添加第四列(thar is,,添加颜色)三列,当我打开PPT时,无法编辑条形图,表明条形图的节点损坏了. 因此,是否有一个主人可以帮助谈论如何使用poi在条形图中添加颜色(添加系列)? ? eg:当我调试" long ptcatcnt = catdatasource.getstrref().getStrcace().getptCount().getVal(); 它显示了NullPoInterExecting,我不知道Bar-chart的PPT结构如何.因此,我想知道如何更新bar-chart. 代码是: 公共类Pptdemo { public void run() { try { SlideShow slideShow = SlideShowFactory.create(new File("./re
12 2024-03-27
编程技术问答社区
如何在Java中为word文档(.doc或.docx)设置背景色(页面颜色)?
由一些图书馆,例如 http://poi.apache.org ,我们可以创建 Word文档带有任何文本颜色,但对于背景或文本的亮点,我没有找到任何解决方案. 手动方式的单词颜色!: 这是我创建Word Document的主要代码.POI.APACHE // Blank Document @SuppressWarnings("resource") XWPFDocument document = new XWPFDocument(); // Write the Document in file system FileOutputStream out = new FileOutputStream(new File(file_address)); // create Paragraph XWPFParagraph paragraph = document.creat
0 2024-03-27
编程技术问答社区
无法设置Apache POI的填充颜色 Excel工作簿
我一遍又一遍地扫描了这个论坛,并尝试了这里提到的每种方法,但仍然无法让Apache Poi更改以填充我的Excel文档的背景颜色. 这是我的代码: errorOccured = true; XSSFCellStyle cs = workbook.createCellStyle(); cs.setFillBackgroundColor(IndexedColors.RED.getIndex()); row.getCell(0).setCellStyle(cs); 您知道为什么这不起作用吗?获得row.getCell(0)填充红色(背景颜色)的正确方法是什么? 谢谢! 解决方案 使用前景颜色代替背景颜色. errorOccured = true; XSSFCellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(IndexedColors.RED.getInde
18 2024-03-26
编程技术问答社区
Azure网络应用(Linux)开始为apache poi xlsx导出抛出字体错误
我有使用Apache POI生成XLSX导出的Java应用程序. 该应用程序已在Linux设置上的Web应用程序中部署在Azure应用程序中,并且自几个月以来工作正常(Azure Web服务上从未安装FONT配置).但是突然间,它开始在工作表创建方法上丢弃错误. 下面是堆栈跟踪 Caused by: java.lang.InternalError: java.lang.reflect.InvocationTargetException 2022-03-04T11:49:12.048900166Z at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86) 2022-03-04T11:49:12.048903666Z at java.base/java.security.AccessController.doPrivileged(Native Method) 2022-03-04
18 2024-03-26
编程技术问答社区
用Scala读取Excel文件
我正在编写一项快速测试,该测试将用户注册电子表格中的数据. 这个想法是访问网站>单击注册>阅读Excel行A1和B1以获取电子邮件和密码>在注册网站上使用此数据>完成注册>注册>注销>注册新用户,其中包含来自行A2和B2的新用户>继续直到电子表格中的行为空. 我已经通过随机的用户信息来自动化注册过程,现在我只需要通过从电子表格中获取的特定电子邮件和密码进行操作. 我尝试使用Apache POI,但不确定如何使用它以及如何使其循环本身直到电子表格结束. 到目前为止,我认为这是错误的: val myData = new File("/desktop/files.file.xmls") val fis = new FileInputStream(myData) val myWorkbook = new HSSFWorkbook(fis) val mySheet = myWorkbook.getSheetAt(0) val rowIterator = myS
22 2024-03-21
编程技术问答社区
如何用Java代码用HSSF应用单元格背景色
我正在尝试根据测试柜执行状态格式化单元背景颜色,例如测试案例通过,则单元格背景应变为 green ,文本颜色应为 white . 类似地,对于失败的测试用例单元格背景颜色:红色和文本颜色: white 为此我尝试了以下脚本. 背景: HSSFCellStyle style = wBook.createCellStyle() style.setFillBackgroundColor(IndexedColors.GREEN.getIndex()) 前景: HSSFFont font = wBook.createFont() font.setColor(HSSFColor.WHITE.index) style.setFont(font) resultCell.setCellStyle(style) 但是在执行测试用例之后,在仅适用前景的情况下,细胞背景不应用. fyi:我正在使用Excel版本.xls 有人提供正确应用单元格背景的方法?
18 2024-03-21
编程技术问答社区
如何使用apache poi将动态excel文件(列数可以超过)写成java对象?
我知道我们可以创建模型类,每个实例变量将被绑定到每个Excel列,如下 class emp{ String name; String empId; //getter and setter method of each } excel文件: 名称| empid ABC | 123 bcd | 3232 xyz | EE32 当Excel中的列数量动态增加 时,如何处理这种情况 解决方案 我将使用一种表模型进行此操作. A ExcelTableModel类似于. 完整的示例显示了这种方法的蓝图: import java.io.*; import org.apache.poi.ss.usermodel.*; public class UseExcelTableModel { public static void main(String[] args) throws Exception {
18 2024-03-21
编程技术问答社区
如何通过Apache POI改变Excel太阳图中一个点的图形属性
我需要以编程为Excel Sunburst图表中的不同数据点为不同的数据点上色.默认情况下,Excel创建图表看起来像这样. 我需要能够做这样的事情. 我已经能够加载图表和系列,我无法解决的是如何获取每个要点并更改填充颜色,甚至可能. 创建此图表的数据是: Level 1,Level 2,Level 3,Series 1 A,A.a,A.a.1,5 A,A.a,A.a.2,5 A,A.b,A.b.1,5 A,A.b,A.b.2,5 B,B.a,B.a.1,5 B,B.a,B.a.2,5 B,B.b,B.b.1,5 B,B.b,B.b.2,5 C,C.a,C.a.1,5 C,C.a,C.a.2,5 C,C.b,C.b.1,5 C,C.b,C.b.2,5 到目前为止我的代码 import java.io.IOException; import java.util.List; import org.apache.poi.xssf.usermodel.XSSFWorkboo
0 2024-03-19
编程技术问答社区