Tag: apache poi

使用javasearchxlsx和xls文件

我有一个大型的xlsx文件,其中我必须实现search选项的海量数据我已经使用Apache POI jar以及jxl jar,以便在行和列之间进行search。 但是,在大数据之间花费很多时间,有些人可以帮助我,也就是任何jar文件或者其他可用于Excel文件search的概念。 String searchValue="my_value_to_search"; for (int i = 0; i < sheet.getColumns(); i++) { for (int j = 0; j < sheet.getRows(); j++) { value = sheet.getCell(i, j); valueType = value.getType(); String val=getCellType(valueType, value); if (val != null&&val==searchValue) { // To do manipulation. } } }

Apache POI getRow()返回null,.createRow失败

我使用Apache POI v3.12有以下问题:我需要使用一个包含49行[0..48]的XLSX文件作为模板,用数据填充它的单元格,并将其写为另一个文件,以便可以重用再次模板。 我所做的大概是这样的: XSSFWorkbook wbk_template = new XSSFWorkbook(new FileInputStream (f_wbk_template)); SXSSFWorkbook wbk = new SXSSFWorkbook(wbk_template, 50, true); Sheet sheet = wbk.getSheet(STR_SHEET_NAME); / 稍后的/ Row row = sheet.getRow(rownum); if (null == row) { row = sheet.createRow(rownum); } debugging后发现getRow()返回null,但是尝试.createRow()失败: java.lang.IllegalArgumentException: Attempting to write a row[2] in the range [0,48] that is already written to disk. at […]

Apache POI,创build新的单元格覆盖了行的样式

我正在使用Apache POI将数据导出到.xlsx文件,我想对文件中包含的某些行和单元格进行样式设置。 我正在使用XSSF,因为该文件将在Excel 2007+中读取。 基本上,我的问题是,我试图设置一个行样式,如下面的例子,它为索引0整个行设置一个黑色的前景色。它工作正常,但每当我创build一个新的单元格,新创build单元格没有样式,就好像它重写了我指定的行样式。 这里有一个代码片段来演示我在做什么: XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("mySheet"); XSSFRow row = sheet.createRow(0); XSSFCellStyle myStyle = wb.createCellStyle(); myStyle.setFillForegroundColor(new XSSFColor(new Color(255, 255, 255))); myStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); row.setRowStyle(myStyle); //This works, the whole row is now black row.createCell(0); // This cell doesn't have a style, the rest of the line stays stylized row.getCell(0).setCellValue("Test"); 我也尝试* […]

如何使用Apache POIselect和加粗整个工作表

我是Apache POI库的初学者。 在VBA中,我知道我可以用下面的代码select和加粗整个工作表 Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) ws.Cells.Font.Bold = True 我可以通过使用Apache POI库编码来知道如何select和加粗整个表格吗? 谢谢

在Excel中使用Java Apache POI插入行

我正在开发与Excel工作表有关的桌面应用程序,所以我在两行之间插入行时遇到了一些问题,有没有可能在Java中使用Apache POI Workbook wb3=WorkbookFactory.create(new FileInputStream("Book1.xls")); Sheet sh=wb3.getSheet("sheet1"); //Reading the available rows using (sh.getRow(1)) //Here i need to insert second row (????) //I have third row here which is already exist (sh.getRow(3))

在Apache Poi 3.7中以特定格式写入数值单元格的Double值

我需要在数值单元格中使用特定的格式编写一个Double值,我的意思是,生成的xls必须包含包含Double值的数字单元格,例如:8,1。 我正在尝试类似于: DecimalFormat dFormat = new DecimalFormat("##.#"); dFormat.format(doubleValue); 但是,由于格式方法返回一个string,无论我是否创build单元格作为数字或不,他们总是performance为文本单元格。 我在想两个select: 强制单元格performance为数字单元格。 忘记DecimalFormat并使用Double类指定逗号作为小数点分隔符,我不确定这是可能的。 任何想法?

使用Java读取Excel工作表时出错

我正在使用NetBeans 6.9.1与Spring / Hibernet一起工作。 我正在尝试读取一个Excel文件(.xlsx- Office 2007)。 读取Excel文件的代码如下,使用Vactor存储Excel表格中的数据。 import java.io.FileInputStream; import java.util.Iterator; import java.util.Vector; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.NewHibernateUtil; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.hibernate.Session; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.SimpleFormController; private Vector importExcelSheet(ModelAndView mv) { Vector cellVectorHolder = new Vector(); try { HSSFWorkbook myWorkBook = new HSSFWorkbook(new […]

如何使用java创build可追加的excelsheet

我想创build一个可追加的excel表。 就像我有四个列stream1 stream2 stream3 stream4 我第一次插入数据只有第一列(stream1)之后,我想充分填写其他列逐一。 这是我正在使用的代码: public void createFile(Jqueue stream1, Jqueue stream2, Jqueue stream3, Jqueue stream4) { try { String filename = "path"; boolean alreadyExists = (new File(filename)).exists(); HSSFRow rowhead = sheet1.createRow((short) 0); rowhead.createCell((short) 0).setCellValue("Stream 1"); rowhead.createCell((short) 1).setCellValue("Stream 2"); rowhead.createCell((short) 2).setCellValue("Stream 3"); rowhead.createCell((short) 3).setCellValue("Stream 4"); int i = 1; while (!stream1.isEmpty()) { String urlstream1 […]

使用Apache POI刷新数据透视表

没有/关于Apache网站的Apache POI for Pivot表的最小文档让我写这个。 我想使用Apache POI刷新工作簿中的数据透视表。 请让我知道我在哪里可以得到正确的文件和例子。

Excel使用Apache POI下拉列表

我需要使用Apache POI在Excel文件中创build一个下拉列表。 我可以这样做,但我不能使下拉列表中的第一项作为默认项目。 public class sd { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { DataValidation dataValidation = null; DataValidationConstraint constraint = null; DataValidationHelper validationHelper = null; XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet1=(XSSFSheet) wb.createSheet("sheet1"); validationHelper=new XSSFDataValidationHelper(sheet1); CellRangeAddressList addressList = new CellRangeAddressList(0,5,0,0); constraint =validationHelper.createExplicitListConstraint(new String[]{"SELECT","10", "20", "30"}); […]