Tag: jexcelapi

清单中添加Excel API 1.2的需求集时,Office Excel Addin无法在Excel 2013中加载

使用Excel API 1.2的Excel插件。 Excel 2016 for Windows和Excel在线加载项加载正常。 从Excel在线保存文件并在Excel 2013中打开,外挂程序无法在Excel 2013中加载,但出现以下错误: 加载Store中发布的Addin时: APP ERROR We can't load this app because we could not connect to catalog 当从可信目录中加载插件时: This app could not be started. Close this dialog to ignore the problem or click restart to try again 我知道Excel 2013不支持Excel API 1.2。 您能否确认推荐的方法来确保Excel 2013中的加载项加载? 我们应该使用isSetSupported方法使用运行时检查吗? ?在这种情况下,如何在Excel 2013客户端中debugging哪些代码行失败? 是否有可以启用Excel客户端中的这种问题进行疑难解答的日志logging? […]

获取Excel数据为CSV

请看下面的代码。 我正在使用JExcel API import java.io.*; import jxl.*; import java.util.*; class ConvertCSV { public static void main(String[] args) { try { //File to store data in form of CSV File f = new File("input.csv"); OutputStream os = (OutputStream)new FileOutputStream(f); String encoding = "UTF8"; OutputStreamWriter osw = new OutputStreamWriter(os, encoding); BufferedWriter bw = new BufferedWriter(osw); //Excel document […]

如何用JExcel API设置单元格的颜色

我想知道如何使用JExcel API在Excel中为单元格设置颜色。 一个示例程序将作为一个例子。

在JAVA中使用POI提取excel数据时空单元格问题?

我刚刚使用Apache POI从Excel表中提取单元格,一切工作正常。 但是每当有一个空的单元格时,下一个正确的单元格数据就是我的输出结果。 但是,如果后者存在价值,则期望的产出即将到来。 这是我写的逻辑。 Iterator<Row> rowIterator=sheet.rowIterator(); while(rowIterator.hasNext()) { ExtractedRowsString extRows=new ExtractedRowsString(); ArrayList<HSSFCell> list=new ArrayList<HSSFCell>(); HSSFRow row=(HSSFRow) rowIterator.next(); Iterator<Cell> cellIterator=row.cellIterator(); while(cellIterator.hasNext()) { HSSFCell cell=(HSSFCell)cellIterator.next(); list.add(cell); } if(check) { addBean(list,extRows); print(extRows); } check=true; } 可能是什么问题? 编辑: public static void addBean(ArrayList list,ExtractedRowsString extRows) { for(int i=0;i<list.size();i++) { switch(i) { case 0: extRows.setSchool_success_id((list.get(i)).toString()); break; case 1: extRows.setPem_id( (list.get(i)).toString() […]

在jexcelapi中攫取一个非英文字符

我有一个非英语字符的excel工作表,当我尝试通过获取内容 sheet.getColumn(column)[row].getContents() 它返回stringreplace字符\ uFFFD,而不是非英文字符,我将要使用StringEscapeUtils.escapeJava转换为unicode。 //"L\u00F6schen" – correct return StringEscapeUtils.escapeJava("Löschen"); //"L\uFFFDschen" – incorrect return StringEscapeUtils.escapeJava(sheet.getColumn(column)[row].getContents()); //"L schen" – incorrect System.out.print(sheet.getColumn(column)[row].getContents());

将光标移到特定的单元格,然后以编程方式按CTRL + E

我正在使用Java Excel API来编程input数据到Excel工作表并检索数据。 我需要将光标移动到特定的单元格,即select该列中的单元格,然后按Ctrl+E ,使用Excel Flash Fillfunction填充该列。 我想知道如何做到这一点

在POI中指定公式string中的文件path

林新的POI,我有要求search一个给定的string列表在两个不同的Excel表中将有一个或多个searchstring的发生。 现在,即时通讯使用Cell迭代器遍历所有行来searchstring, for (String searchString : SearchList){ List<Row> matchedRows = getMatchedRows(searchString); } public List<Row> getMatchedRows(String searchString) List<Row> rowsMatched = new ArrayList(); (Row rowOfSheet : workSheet) { if(rowOfSheet.getCell(index).getStringCellValue().equalsIgnoreCase(searchString)) { rowsMatched.add(rowOfSheet) } } } 但性能会受到影响,因为我在ExcelSheet以及searchList中有巨大的logging。 所以我试图使用“匹配”公式获得使用评估器匹配行的索引,但我不能gt正确的语法,当我尝试执行以下操作: "MATCH('C:\\Files\\[File1.xlsx]sheet1'!$A$2,'C:\\Files\\[File2.xlsx]sheet2'!$B$2:$B$741,0)" 这给了我以下例外: Exception in thread "main" java.lang.IllegalArgumentException: Invalid sheetIndex: -1. at org.apache.poi.ss.formula.SheetRefEvaluator.<init>(SheetRefEvaluator.java:39) at org.apache.poi.ss.formula.OperationEvaluationContext.createExternSheetRefEvaluator(OperationEvaluationContext.java:97) at org.apache.poi.ss.formula.OperationEvaluationContext.getRef3DEval(OperationEvaluationContext.java:249) at org.apache.poi.ss.formula.WorkbookEvaluator.getEvalForPtg(WorkbookEvaluator.java:656) at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:527) at […]

如何在Excel中创build月份/年份filter,同时使用jExcel?

在Excel中,如果我们有一个date列,并且在列的顶部添加filter,我们会看到年份,月份等的filter。例如,如果我们有一个像这样的两个值的列“03/11 / 2014“和”2014年2月11日“,我们会看到2014年和3月和2月的filter(只要该列被格式化为date列)。 我正在写jExcel的excel。 我将一个列格式化为date列,如下所示: WritableCellFormat cellDateFormat = new WritableCellFormat(new WritableFont(WritableFont.ARIAL, 12), DateFormats.FORMAT9); 当我打开Excel文件时,列显示为date列。 但是,将sorting添加到列时,不会显示月份或年份filter。 任何想法如何解决这个问题?

JExcel:在MS Excel中具有公式ROUNDUP的细胞上丢失细胞精确度

例如,我无法正确读取公式中具有ROUNDUP数字单元格 单元格C25 =ROUNDUP(5296.43899096,2) 它在Excel中显示5296.44 ,但下面的代码 Cell cell = worksheet.getCell("C25"); System.out.println( cell.getNumber() ); 给出输出为5296.4400000000005 ,请帮忙

JExcel – 写一个可能是数字或空的单元格值

在JExcel中,你可以这样做: new Number(column,row,value) 但null不是可接受的值。 对于标签,使用null作为一个值是好的。 有没有办法创build一个单元格是一个数字或null,而不是手动执行此逻辑,如下所示: if (value != null) { return new Number(column, row, value) } else { return new Label(column, row, null) }