标签: apache-poi

MalformedByteSequenceException:2字节UTF-8序列的无效字节2

我有一个包含阿拉伯字符的xml文件.当我尝试解析文件时,会出现Exception,MalformedByteSequenceException:2字节UTF-8序列的无效字节2.我使用POI DOM来解析文档.

日志是,

2012-03-19 11:30:00,433 [ERROR] (com.infomindz.remitglobe.bll.remittance.BlackListBean) - Error 

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)

    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)

    at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)

    at com.infomindz.remitglobe.bll.remittance.BlackListBean.updateGeneralBlackListDetail(Unknown Source)

    at com.infomindz.remitglobe.bll.remittance.schedulers.BlackListUpdateScheduler.executeInternal(Unknown Source)

    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)

    at org.quartz.core.JobRunShell.run(JobRunShell.java:216)

    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Run Code Online (Sandbox Code Playgroud)

例外情况只出现在Windows机器上,而不是出现在Linux机器上.如何解决这个问题.任何建议都应该引人注意.

java xml apache-poi

18
推荐指数
2
解决办法
7万
查看次数

创建一个excel文件供用户使用Apache POI下载

我可以使用apache poi创建一个excel文件.但是,我希望用户能够将其下载为"真正的"excel文件.我想要实现的效果是有一个允许用户下载文件的弹出框.这类似于使用

<%@ page contentType="application/vnd.ms-excel" pageEncoding="ISO-8859-1"%> 
<%response.setHeader("Content-Disposition", "attachment;filename=myfile.xls"); %>
Run Code Online (Sandbox Code Playgroud)

有一个严重的例外:我必须允许用户下载一个合适的excel文件.我在某处读到上面的代码只是告诉客户端服务器正在发送一个excel文件

jsp servlets apache-poi

18
推荐指数
2
解决办法
9万
查看次数

使用Apache POI如何读取特定的Excel列

我在使用Apache POI时遇到excel问题.我可以阅读各行,但有时候我会想要只读一个特定的列.

因此,可以仅读取任何特定列,例如仅读取"A"列或仅读取"C"列.

我正在使用Java语言.

java excel apache-poi

18
推荐指数
2
解决办法
11万
查看次数

用于处理docx文档的Apache POI或docx4j

您认为哪个更好用于将docx文档作为java对象读取?为什么?

换一种说法.哪个库支持大多数单词标签?

java docx apache-poi docx4j

18
推荐指数
2
解决办法
3万
查看次数

POI/Excel:以"相对"方式应用公式

我正在使用Apache的POI来使用Java操作Excel(.xls)文件.

我正在尝试创建一个新的单元格,其内容是公式的结果,就像用户复制/粘贴公式一样(我称之为"相对"方式,与"绝对"相反).

为了使自己更清楚,这里有一个简单的例子:Cell A1包含"1",B1包含"2",A2包含"3",B2包含"4".单元格A3包含以下公式"= A1 + B1".如果我将公式复制到excel下的A4单元格,它将变为"= A2 + B2":excel正在动态调整公式的内容.

不幸的是,我无法以编程方式获得相同的结果.我找到的唯一解决方案是将公式标记化并自己完成脏工作,但我真的怀疑这应该是这样做的.我无法在指南或API中找到我想要的内容.

有没有更简单的方法来解决这个问题?如果是这样的话,请指点我正确的方向吗?

最好的祝福,

尼尔斯

java excel poi-hssf apache-poi

17
推荐指数
5
解决办法
1万
查看次数

Java:使用apache POI如何将ms word文件转换为pdf?

通过使用apache POI如何将ms word文件转换为pdf

我使用以下代码,但它没有工作给出错误,我想我正在导入错误的类?

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

import org.apache.poi.hslf.record.Document;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;


public class TestCon {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        POIFSFileSystem fs = null;  
         Document document = new Document(); 

         try {  
             System.out.println("Starting the test");  
             fs = new POIFSFileSystem(new FileInputStream("/document/test2.doc"));  

             HWPFDocument doc = new HWPFDocument(fs);  
             WordExtractor we = new WordExtractor(doc);  

             OutputStream …
Run Code Online (Sandbox Code Playgroud)

java itext apache-poi

17
推荐指数
2
解决办法
7万
查看次数

如何使用Apache POI为Excel工作表中的行应用背景颜色?

我正在使用Apache POI将数据导出到Excel工作表.它工作正常.问题是我需要在生成Excel工作表时在Excel工作表中应用黄色背景颜色几行.请告诉我如何在生成时为excel表格行应用背景颜色.

谢谢,雷迪

java apache-poi

17
推荐指数
1
解决办法
6万
查看次数

Excel使用Apache POI下拉列表

我需要使用Apache POI在excel文件中创建一个下拉列表.我能够做到这一点但是我无法将下拉列表中的第一项作为默认项目.

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"});
    dataValidation = validationHelper.createValidation(constraint, addressList);
    dataValidation.setSuppressDropDownArrow(true);      
    sheet1.addValidationData(dataValidation);

    FileOutputStream fileOut = new FileOutputStream("c:\\temp\\vineet.xlsx");
    wb.write(fileOut);
    fileOut.close();
}

}
Run Code Online (Sandbox Code Playgroud)

excel apache-poi xssf

17
推荐指数
1
解决办法
3万
查看次数

Java POI找不到符号WorkbookFactory

我正在将HSSF模型转换为XSSF.我在这里和那里得到了lil错误.我下载了最新的POI并删除了所有的jar文件,并将apache包含在我的java类中.....得到此错误:

import org.apache.poi.ss.usermodel.Workbook;

Workbook wb = WorkbookFactory.create();
Run Code Online (Sandbox Code Playgroud)

275:找不到符号[javac]符号:变量WorkbookFactory [javac] location:class mil.usmc.logcom.chassis.util.HSSFUtils [javac] Workbook wb = WorkbookFactory.create();

java apache-poi

17
推荐指数
2
解决办法
3万
查看次数

使用Apache POI通过Cell引用字母标识获取Cell

我试图通过Cell引用从行中获取Cell,我遇到了问题.例如,我有:

row.getCell(CellReference.convertColStringToIndex("B"));
Run Code Online (Sandbox Code Playgroud)

如果Column索引是1,那么工作正常,但是如果Column被删除,那么BColumn索引就变成了2,并且方法:CellReference.convertColStringToIndex("B")仍然将它转换为1在这种情况下我无法获取我的列,我得到了null.

所以问题是如何从行中获取列,这取决于Cell标识符,这是一个字母?

java excel apache-poi

16
推荐指数
1
解决办法
3万
查看次数

标签 统计

apache-poi ×10

java ×8

excel ×4

docx ×1

docx4j ×1

itext ×1

jsp ×1

poi-hssf ×1

servlets ×1

xml ×1

xssf ×1