Tag: apache poi

Apache POI写图像和文字的excel

我在写图像和文本在同一个单元格中的问题和类似于StackOverflow的问题添加图像和文本在Excel和POI Excel HSSFPicture图像和ALT TEXT的 同一单元格中 ,但期望的输出是不同的,我不明白什么是错的用我的代码? 并预期如下输出 这是我的代码; Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); //FileInputStream obtains input bytes from the image file InputStream inputStream = new FileInputStream(k_pipe_img_file); //Get the contents of an InputStream as a byte[]. byte[] bytes = IOUtils.toByteArray(inputStream); //Adds a picture to the workbook int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); //close […]

apache POI MS Office Excel无法打开字体颜色设置Excel文件

我正面临apache poi的一个奇怪的问题 我正在使用Apache poi 3.17创build一个Excel文件。 如果我设置字体颜色,那么生成的excel文件不是用最新的MS Office Excel查看器打开的,但是它随Libre Office和Mac OS Numbers应用程序打开。 但是,如果我将'urlFont.setColor((short)Color.BLACK.getRGB())'行注释掉,那么生成的文件将以Office Excel查看器(以及其他应用程序)打开。 有没有人遇到过这个问题? import org.apache.poi.common.usermodel.HyperlinkType; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.Hyperlink; import org.apache.poi.xssf.usermodel.*; import java.awt.*; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class WriteExcelBasic { public static void main(String[] args) throws IOException { String excelFileName = "/Users/home/Test3.xlsx"; FileOutputStream fos = new FileOutputStream(excelFileName); XSSFWorkbook wb […]

Apache POI在复制时更新公式引用

有没有办法在Apache POI中复制公式时更新公式引用? 用Excel表示你在第一行公式=A1/B1 。 如果您复制粘贴它,例如在第5行,公式变成=A5/B5. 在Apache POI中,如果您运行线路 r5.getCell(2).setCellType(CellType.FORMULA); r5.getCell(2).setCellFormula(r1.getCell(2).getCellFormula()); 公式保持=A1/B1 。

在Java中使用Apoche POI读取excel(xlsx)文件(获取奇怪的数字)

我必须打开一个学校项目的testingdate。 这个testdate是一个excel(xlsx)文件,包含数字,字母,date和时间。 但下面的代码读取Excel文件,但我得到奇怪的数字,如42538.0和1.153481443E9 。 在date之后。 public class Page4_Controller implements Initializable { @FXML private Button button1; public void Button1Action(ActionEvent event) throws IOException { //Initialize excel file FileChooser fc = new FileChooser(); fc.getExtensionFilters().addAll( new ExtensionFilter("Excel Files", "*.xlsx")); File selectedFile = fc.showOpenDialog(null); // Read file readXLSXFile(selectedFile.getAbsolutePath()); } public static void readXLSXFile(String excelFilePath) throws IOException { FileInputStream fys = […]

在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() […]

如何debuggingMicrosoft XLSX文件中的未声明的实体错误

我以xlsx格式生成大型Excel文件。 这些文件包含100多行,100列。 当我打开其中一个文件时,我得到这个:“replace的部分:/xl/worksheets/sheet1.xml部分,带有XML错误。未声明的实体,行23350,列3794。 我将通过input数据来试图找出问题,但我想知道是否有更好,更快,更简单的方法来找出Excel不喜欢这个文件。

与Apache POI 3.8不可读的内容错误

我正在使用Apache POI 3.8。 我有一个生成Excel(.xslx)文件的JSP。 我在本地开发它,文件可以打开没有任何问题。 然后,我在开发环境中部署应用程序,当我打开生成的Excel文件时,出现一个警告框:“Excel在ausencias.xlsx中发现不可读的内容。是否要恢复此工作簿的内容?信任此工作簿的来源,请单击“是”。 如果单击是,则出现以下警报:“无法使用Microsoft Excel打开此文件。是否要在Microsoft Office Online网站上search可打开该文件的转换器? 如果我单击否,该文件正确打开。 但我不知道为什么我会得到这些错误。 即使我生成一个简单的空的.xslx文件,也是如此: <%@page import="java.io.FileOutputStream"%> <%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="java.io.IOException"%> <%@page import="javax.servlet.*"%> <%@page import="org.apache.poi.ss.usermodel.*"%> <%@page import="org.apache.poi.ss.util.CellRangeAddress"%> <%@page import="org.apache.poi.xssf.usermodel.*"%> <% response.setHeader ("Content-Disposition", "attachment;filename=\"ausencias.xlsx\""); response.setContentType("application/vnd.ms-excel"); Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("Ausencias"); ServletOutputStream fout = response.getOutputStream(); wb.write(fout); fout.flush(); fout.close(); %> 在本地机器上,我有Microsoft Office Excel […]

如何使用Java在Excel电子表格中获取单元格的内容? Apache POI

我正在创build一个Java应用程序,我需要它来读取特定的单元格,文档上的单元格将包含string和一些整数。 你可以请协助,我发现这个示例代码如下,但现在我卡住了。 我需要将电子表格上的数据保存到数据库中。 谢谢 InputStream inp = new FileInputStream("workbook.xls"); //InputStream inp = new FileInputStream("workbook.xlsx"); Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getSheetAt(0); Row row = sheet.getRow(2); Cell cell = row.getCell(3);

Java和Excel:值被读取错误

我parsing从Excel文件中的数据,并将其添加到我的数据库使用HSSFCellparsingExcel文件,我使用下面的代码来读取文件 public void printCellDataToConsole(Vector dataHolder) throws SQLException { // this is for the rows in the file, set to one to skip the headings List<String> studentInformation = new ArrayList<>(); for (int i = 1; i < dataHolder.size(); i++) { Vector cellStoreVector = (Vector) dataHolder.elementAt(i); // this is for the colums in the table for (int […]

SCALA POI API。 无法访问字段inheritance

我正在写一些代码来读取一个Excel文件。 在这一点上,我正在试图确定一个单元格的types。 val wb:HSSFWorkbook= new HSSFWorkbook(fileInput) val sheet:HSSFSheet = wb.getSheetAt(0); val rows = sheet.rowIterator() while(rows.hasNext()){ var row = rows.next() val cells = row.cellIterator() while(cells.hasNext()){ val cell = cells.next() println(cell.getCellType()== org.apache.poi.hssf.usermodel.HSSFCell.CELL_TYPE_NUMERIC)}} 它说 value CELL_TYPE_NUMERIC is not a member of object org.apache.poi.hssf.usermodel.HSSFCell 我不明白为什么我不能访问这个领域。 你能帮忙吗? 问候