Tag: apache poi

令牌上的语法错误,放错位置的构造(s)

如何解决这个错误—>令牌上的语法错误,错误的结构错误是在下面的行中指出。 注意:这段代码被复制到网上,并试图让它作为一个学习工具使用我正在使用Eclipse谢谢! import java.io.File; import java.io.FileOutputStream; import java.util.Map; import java.util.Set; import java.util.TreeMap; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class EcellTest22 { //Blank workbook XSSFWorkbook workbook = new XSSFWorkbook(); //Create a blank sheet XSSFSheet sheet = workbook.createSheet("Employee Data"); //This data needs to be written (Object[]) Map<String, Object[]> data = new TreeMap<String, Object[]>(); // […]

如何使用POIparsingExcel文件中的UTF-8字符

我一直在使用POI来成功parsingXLS和XLSX文件。 但是,我无法从Excel电子表格中正确提取特殊字符,如中文或日文等UTF-8编码字符。 我已经想出了如何从UTF-8编码的csv或制表符分隔的文件中提取数据,但没有运气的Excel文件。 谁能帮忙? ( 编辑: 评论中的代码片段 ) HSSFSheet sheet = workbook.getSheet(worksheet); HSSFEvaluationWorkbook ewb = HSSFEvaluationWorkbook.create(workbook); while (rowCtr <= lastRow && !rowBreakOut) { Row row = sheet.getRow(rowCtr);//rows.next(); for (int col=firstCell; col<lastCell && !breakOut; col++) { Cell cell; cell = row.getCell(col,Row.RETURN_BLANK_AS_NULL); if (ctype == Cell.CELL_TYPE_STRING) { sValue = cell.getStringCellValue(); log.warn("String value = "+sValue); String encoded = […]

将JTable写入Excel

我打算将一个JTable的内容移动到一个Microsoft Excel工作表中。 Excel表格应该有一些格式规范。 例如,如果某列的值为“A”,则它应该是绿色的。 如果它是'B'红色的。 我正处于分析阶段。 我应该使用哪个jar子? 数据不是很大。性能不是一个大问题。

使用apache poi将列设置为只读

我使用apache-poi生成excel文件,我需要将4列设置为只读,其余2列将由用户编辑。 And i am using **XSSFCellStyle** to achieve this but it's not working for me . 整个代码是: Map<String, XSSFCellStyle> styles = new HashMap<String, XSSFCellStyle>(); XSSFCellStyle style5 = wb.createCellStyle(); XSSFFont headerFont = wb.createFont(); headerFont.setBold(true); style5.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); style5.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); style5.setFont(headerFont); **style5.setLocked(true);** // this line is not get executed. styles.put("header", style5); 在此先感谢,Simbu。

XSSFWorkbook需要花费很多时间来加载

我正在使用下面的代码: File file = new File("abc.xlsx"); InputStream st = new FileInputStream(file); XSSFWorkbook wb = new XSSFWorkbook(st); xlsx文件本身有25,000行,每行有500列的内容。 在debugging过程中,我看到第三行创build了一个XSSFWorkbook,需要大量的时间(1小时!)来完成这个语句。 有没有更好的方式来访问原始的xlsx文件的值? 谢谢Abhishek S

使用apache poi写入xlsm(Excel 2007)

我写了用于编写xlsm(Excel 2007)的java文件。 使用Apache POI库,编写xlsx文件是成功的。 写xlsm文件是成功的。 但是当打开xlsm文件时,由于错误,我无法打开xlsm文件。 使用Apache POI Library编写xlsm文件是否可行? 如果写xlsm是可行的,请提供指导如何使用Apache poi库编写xlsm文件。 XSSFWorkbook workBook = new XSSFWorkbook(); XSSFSheet sheet = workBook.createSheet("Related_SRC"); String realName = "Test.xlsm"; File file = new File("C:\\sdpApp", realName); try { FileOutputStream fileOutput = new FileOutputStream(file); workBook.write(fileOutput); fileOutput.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } 谢谢

最好的语言来parsing极大的Excel 2007文件

我的老板习惯于对我们的数据库执行查询,返回数以万计的行并将其保存到excel文件中。 作为实习生,我不得不编写处理这些文件信息的脚本。 到目前为止,我已经尝试VBScript和Powershell的脚本需要。 这两者都可能需要几分钟的时间来执行即使是最简单的任务,这将意味着脚本完成后将需要大约8小时的一天。 我现在的解决方法是编写一个PowerShell脚本,从xlsx文件中删除所有逗号和换行符,将.xlsx文件保存为.csv,然后让Java程序处理数据收集和输出,脚本完成后清理.csv文件。 这对于我目前的项目来说只需要几秒钟的时间,但我不禁要问,下一个项目是否还有一个更优雅的select。 有什么build议么?

Apache poi风格设置在一段时间后停止

我想要做的是写一个程序,本质上是将图像转换为该图像的Excel表示。 我现在正在做的是,我正在加载图像,我得到的图像的RGB值成二维整数数组。 我面临的问题是这个。 我的细胞突然没有造型! 在一些背景颜色的单元格之后,剩下的部分留白,我不会超过4,000个样式的限制,因为我将图片限制为60 * 60分辨率。 所以我不太确定我做错了什么。 我的主要课程: package excelArtist; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFPalette; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; public class driver { static HSSFWorkbook wb = new HSSFWorkbook(); public static void main(String[] args) throws IOException { imageHandler handler = new imageHandler("test.jpg"); int[][] […]

在weblogic上使用Apache poi 3.13导出xlsx:文件格式或扩展名无效

早些时候,我使用Apache POI 2.5.1导出使用HSSFWorkbook .xls文件。 更新Apache POI到3.13我使用SXSSFWorkbook导出.xlsx文件,但导出损坏的文件。 MS Excel无法打开文件格式或扩展名无效的错误。 请注意,这个问题我只面对WebLogic服务器,它在JBoss工作正常。 任何人都可以帮助我在这里做错了吗? 码: List<JRField> fields = ds.getFields(); SXSSFWorkbook wb = new SXSSFWorkbook(); SXSSFSheet sheet = wb.createSheet("Sheet1"); try { CellStyle cellStyle = wb.createCellStyle(); CellStyle cellStyleColName = wb.createCellStyle(); CellStyle cellStyleTitle = wb.createCellStyle(); Font boldFont = wb.createFont(); boldFont.setFontHeightInPoints((short)16); boldFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // Cell Style for body cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)")); cellStyle.setWrapText(true); // Cell Style for […]

为什么Apache POI OPCPackage的close()方法不能保存/写入内容来打开可写文件?

使用下面的代码,不会保存对Excel电子表格所做的单元格值更改: OPCPackage pkg = OPCPackage.open(inputFile); XSSFWorkbook wb = new XSSFWorkbook(pkg); ModifyWorkbook(); pkg.close(); 以下是我写的解决方法,但我不明白为什么这是必要的。 OPCPackage pkg = OPCPackage.open(inputFile); XSSFWorkbook wb = new XSSFWorkbook(pkg); ModifyWorkbook(); File tmp = File.createTempFile("tempSpreadsheet", ".xlsx"); FileOutputStream newExcelFile = new FileOutputStream(tmp); wb.write(newExcelFile); newExcelFile.close(); tmp.deleteOnExit(); pkg.close(); 关于主题的javadoc和指南指出.close()方法应该保存并closures。 在closures之前,检查已修改的单元格的值,表明已作出更改,但单独使用pkg.close()方法不足以在closures时将这些更改写入文件。