Tag: hssf

我得到逗号分隔符在Excel中的单元格在c#中的点

我有一个很奇怪的问题: 阅读excel我使用NPOI nget包,我的代码是 HttpPostedFileBase file = Request.Files[0]; string fileName = file.FileName; Stream filestream = file.InputStream; string fileExtension = System.IO.Path.GetExtension(Request.Files[0].FileName); if (fileExtension == ".xls" || fileExtension == ".xlsx") { HSSFWorkbook hssfwb; hssfwb= new HSSFWorkbook(filestream); ISheet sheet = hssfwb.GetSheetAt(0); for (int row = 1; row <= sheet.LastRowNum; row++) { if (sheet.GetRow(row) != null) //null is when the […]

无法dynamic设置HSSFCell对象的值

我正试图使用​​Apache POI将数据从我的jsp导出到excel。 我需要的列数取决于两个参数,因此,我通过查询获取它。 对于EX:如果需要的dynamic列数= 3,那么输出应该是这样的。 A | B | DH1 | DH2 | DH3 | C 这里A,B,C =静态列标题。 DH =dynamic列标题(从查询中提取) 为此,我首先设置A,B,C,然后find所需的DH列数。 然后我生成DH列。 之后,我在每个DH列中找出需要的值,将该值存入Arraylist,然后遍历Arraylist并设置值。 这里的代码 HSSFCell c1= row.createCell(0); HSSFCell c2= row.createCell(1); HSSFCell cellObject = null; oRecordMetaInfo = getNoofDynamicColumns(); NoofColumns = oRecordMetaInfo.getRecordCount(); for(int i = 2; i < NoofColumns + 2; i++) { cellObject = row.createCell((int) i); […]

将JTable导出为Excel文件

在这里我试图出口JTable到Excel文件…我没有得到任何错误控制台…但在Excel表格我只有列名…我的目标是要显示数据库表在这个JTable广场,在这个下面有Exportbutton,所以点击这个button后应该为上面的JTable创buildexcel文件。 所以不能识别实际的错误 JButton btnExport = new JButton("Export"); btnExport.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try { String query="Select * from client"; PreparedStatement pst=conn.prepareStatement(query); ResultSet rs=pst.executeQuery(); table.setModel(DbUtils.resultSetToTableModel(rs)); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("Excel Sheet"); HSSFRow rowhead = sheet.createRow(0); rowhead.createCell(0).setCellValue("Client_Vendor code"); rowhead.createCell(1).setCellValue("Client_Name"); rowhead.createCell(2).setCellValue("Purchaser_Name"); rowhead.createCell(3).setCellValue("User_Name"); rowhead.createCell(4).setCellValue("Sales_Engg"); int index=1; while(rs.next()) { HSSFRow row = sheet.createRow(index); […]

使用findSimilarColor设置Excel文件的背景

我在我的java代码中使用findSimilarColor有一个小问题。 我已经阅读了一些从帮助我到下面的代码的计算器的文章。 HSSFCellStyle style = wb.createCellStyle(); HSSFPalette palette = wb.getCustomPalette(); // get the color which most closely matches the color you want to use HSSFColor myColor = palette.findSimilarColor(226, 0, 116); //java don't recognize this color // get the palette index of that color short palIndex = myColor.getIndex(); // code to get the style for the […]

即使将jar文件包含在classpath中,也无法在运行时find类

我正在尝试使用apache poi api 。 我已经下载了jar库。 这是我写的代码。 该文件的名称是Main.java 。 /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; /* Name of the class has to be "Main" only if the class is public. */ public class Main { public static void main […]

如何在apache poi XSSF usermodel中使用setShapeType画线

我正在更新代码使用3.8 poi,所以我将代码从HSSF更改为XSSF。 我已经在HSSF setShapeType为OBJECT_TYPE_LINE,如何更改XSSF usermodel的setShapeType。 我需要使用XSSF画一条线。 这是我的代码, XSSFDrawing patriarch= (XSSFDrawing) sheet3.createDrawingPatriarch(); XSSFClientAnchor regionr = patriarch.createAnchor(0, 0, 1, 1, (short)6, 12, (short)8.95, 12); XSSFSimpleShape region1Shapevr = patriarch.createSimpleShape(regionr); region1Shapevr.setShapeType(ShapeTypes.LINE); 谢谢

HSSFWorkbook错误

嗨,我有一个错误,当我尝试使用HSSF工作簿。 看到这个错误 Exception in thread "Thread-13" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook at digicare.tracking.serial.BulkUpload.UploadProgress$1read2.run(UploadProgress.java:95) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) 这是我的代码: try { file = new FileInputStream(new File(FilePath)); try { workbook = new HSSFWorkbook(file); } catch (Exception […]

为HSSFCellStyle中的合并行和列添加边框,但不能在Windows中工作

我生成了一个Excel工作表,应用样式并为每个单元添加边框。 style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM); style.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM); style.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM); 在合并单元格(行和列)的情况下,上面的代码在Unix中工作正常,但在Windows中,该样式仅适用于两个合并单元格中的第一个单元格。

重新保存时更改文件大小

我目前正在使用Java中的HSSFWorkbook库生成一个.xls文件,下游系统正在parsing这个文件来读取一些数据。 最近,我们遇到了一个问题,即文件遇到缺less期望值的例外,尽pipe我自己也没有下游系统进行更改。 现在奇怪的是,如果文件被打开并重新保存,没有任何更改,文件被正确parsing。 发生保存时,我们也会看到文件大小从大约6kb变为26kb。 这是文件大小的预期变化吗? 我猜测这可能是与Excel添加额外的空白单元格/空格,这是不包括在文件最初build成时,但不太确定发生了什么事情。 我没有访问下游parsing器,所以不能确切知道那里发生了什么。 我已经尝试在Linux中使用cmp函数比较两个.xls文件,但还没有提出任何有用的发现。 我有一些示例文件的行为,我注意到,但我不能附加在这里,我不能访问任何文件共享网站(封锁)。 是否有任何工具可以用来自己进行更好的比较,以及我应该寻找哪些可能导致此问题的特殊字符等? 当我在Linux上运行以下命令来分析差异时: cmp -l file1。 file2.xls | gawk'{printf“%08X%02X%02X \ n”,$ 1,strtonum(0 $ 2),strtonum(0 $ 3)}'> analysis.txt 这是输出的开始: 00000019 3B 3E 00000031 00 32 0000003D 09 FE 0000003E 00 FF 0000003F 00 FF 00000040 00 FF 00000041 01 00 0000004D 0A 31 00000201 52 09 00000202 00 […]

apache.poi HSSFCell getNumericCellValue读取不正确

我使用apache.poi从excel中读取数值。 hssfCell.getNumericCellValue() 但是这里是结果错误的excel文件的例子。 excel文件的例子 单元格N14的正确结果是11,115(或具有Excel格式的11,12)。 但hssfCell.getNumericCellValue()得到结果11.114999999999998。 这是公式单元格,所以我可以使用dateFormatter,那么结果是11,11。 HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(importFile)); FormulaEvaluator formulaEvaluator = new HSSFFormulaEvaluator(wb); DataFormatter dataFormatter = new DataFormatter(); formulaEvaluator.evaluate(hssfCell); dataFormatter.formatCellValue(hssfCell, formulaEvaluator); Excel显示我11,12。 我怎样才能得到这个价值?