Tag: apache poi

导出到Excel JSF和PrimeFaces

使用JDK 1.6,JSF 2.1,PrimeFaces 2.2.1,POI 3.2和Apache Tomcat 7 我正在尝试设置一个servlet,允许根据用户选择下载excel文件。 excel文档是在运行时创建的。 没有错误,代码确实进入了servlet。 我点击按钮,没有任何反应。 我没有使用PrimeFaces使用的数据表导出,因为我需要对Excel文档中的数据进行重新排序和自定义格式化。 ExportExcelReports.java protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“application/vnd.ms-excel”); response.setHeader(“Content-Disposition”, “attachment; filename=\”my.xls\””); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); cell.setCellValue(0.0); FileOutputStream out = new FileOutputStream(“my.xls”); workbook.write(out); out.close(); } ProjectReportBean.java public […]

使用Apache POI将Word转换为HTML

我看到有一个名为WordToHtmlConverter的转换器,但是没有公开处理方法。 我应该如何传递doc文件并获取HTML文件(或OutputStream )?

替换Apache POI XWPF中的文本

我刚刚发现Apache POI库对于使用Java编辑Word文件非常有用。 具体来说,我想使用Apache POI的XWPF类编辑DOCX文件。 我发现没有适当的方法/文档,我可以这样做。 有人可以分步说明,如何替换DOCX文件中的一些文本。 **文本可以在行/段落或表格行/列中 提前致谢 :)

java.lang.ClassNotFoundException:org.apache.xmlbeans.XmlException

为了读取xlsx文件我正在使用apache POI,我已经下载了zip并将以下jsrs放在我的servlet位置webcontent/web-inf/lib并通过eclipse配置了构建路径 我的代码如下, 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; File uploadedFile = new File(fpath, fileName); item.write(uploadedFile); String mimeType = (Files.probeContentType(uploadedFile.toPath())).toString(); System.out.println(mimeType); if(mimeType.equals(“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”)) { FileInputStream file = new FileInputStream(uploadedFile); XSSFWorkbook workbook = new XSSFWorkbook(file); for (int i =0; i < workbook.getNumberOfSheets(); i++) { XSSFSheet sheet = workbook.getSheetAt(i); Iterator row = sheet.iterator(); while(row.hasNext()) { Iterator […]

org.apache.poi.POIXMLException:org.apache.poi.openxml4j.exceptions.InvalidFormatException:

我正在使用以下jar文件: dom4j-1.6.1.jar poi-3.9-20121203.jar poi-ooxml-3.9-20121203.jar poi-ooxml-schemas-3.9-20121203.jar xmlbeans-2.3.0.jar 码: package ExcelTest; import java.io.File; import java.io.FileInputStream; import java.util.Iterator; 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 Test { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File(“G:\\Selenium Jar Files\\TestData\\Data.xls”)); //Create Workbook instance holding reference to .xlsx file XSSFWorkbook workbook = new […]

使用Apache POI读取xlsx文件时获取exception(org.apache.poi.openxml4j.exception – 无内容类型)?

我正在使用Apache POI(XSSF API)来读取xlsx文件。当我试图读取file.i时出现以下错误: org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13] 码: public class ReadXLSX { private String filepath; private XSSFWorkbook workbook; private static Logger logger=null; private InputStream resourceAsStream; public ReadXLSX(String FilePath) { logger=LoggerFactory.getLogger(“ReadXLSX”); this.filepath=FilePath; resourceAsStream = ClassLoader.getSystemResourceAsStream(filepath); } public ReadXLSX(InputStream fileStream) { logger=LoggerFactory.getLogger(“ReadXLSX”); this.resourceAsStream=fileStream; } private void loadFile() throws FileNotFoundException, NullObjectFoundException { […]

如何使用Java中的Apache POI XWPF将图片添加到.docx文档中

我使用Java POI 3.7创建了一个简单的docx-Document。 XWPF。 然后,我使用方法XWPFDocument.addpicture(byte[] arg0, int arg1)添加了一张图片。 XWPFDocument docx = new XWPFDocument(); XWPFParagraph par = docx.createParagraph(); XWPFRun run = par.createRun(); run.setText(“Hello, World. This is my first java generated docx-file. Have fun.”); run.setFontSize(13); InputStream pic = new FileInputStream(“logo.jpg”); byte [] picbytes = IOUtils.toByteArray(pic); docx.addPicture(picbytes, Document.PICTURE_TYPE_JPEG); 由于docx的文件大小增加,图片被“物理地”添加到文档中; 但它在MS Word中根本不显示。 似乎有一个参考文件中缺少的图片。 这样做的方法是什么? 如何用apache POI完成图片处理? Web上有更多教程,XWPF几乎没有任何文档或教程,它解释了段落,运行等的处理。 我在这里找到的唯一一件事是: https […]

如何缓存InputStream以供多种用途

我有一个文件的InputStream,我使用apache poi组件来读取它像这样: POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream); 问题是我需要多次使用相同的流,POIFSFileSystem在使用后关闭流。 从输入流缓存数据然后将更多输入流提供给不同的POIFSFileSystem的最佳方法是什么? 编辑1: 通过缓存我的意思是存储供以后使用,而不是作为加速应用程序的方法。 也可以将输入流读入数组或字符串,然后为每次使用创建输入流? 编辑2: 很抱歉重新打开这个问题,但在桌面和Web应用程序中工作时条件有所不同。 首先,我从tomcat web app中的org.apache.commons.fileupload.FileItem获取的InputStream不支持标记,因此无法重置。 其次,我希望能够将文件保存在内存中,以便在处理文件时更快地访问和减少io问题。

使用Apache Poi从Excel工作表中获取单元格值

如何在java中使用poi获取单元格值? 我的代码看起来像这样 String cellformula_total__percentage= “(1-E” + (rowIndex + 2) + “/” + “D” + (rowIndex + 2) + “)*100”; cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellStyle(this.valueRightAlignStyleLightBlueBackground); cell.setCellFormula(“abs(” + cellformula_total__percentage + “)”); 但是,如果在这种情况下,我如何检查我的单元格值是否包含错误值,如#DIV / 0! 以及如何用N / A替换它

获取单元格值,以及它在excel中的显示方式

我目前正在开发一个使用Apache POI读取excel文件的项目。 我的任务似乎很简单,我只需要获取excel文件中显示的单元格值。 我知道根据单元格的单元格类型执行switch语句。 但是,如果数据是这样的 9,000.00 当我执行getNumericCellValue()时,POI给了我9000.0 。 当我强制单元格为字符串类型并执行getStringCellValue()它会给我9000 。 我需要的是数据如何在excel中呈现。 我发现一些post告诉使用DataFormat类,但根据我的理解,它需要您的代码知道该单元格具有的格式。 在我的情况下,我不知道单元格可能具有的格式。 那么,我如何检索单元格值如何在excel中呈现?