我有一个包含阿拉伯字符的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机器上.如何解决这个问题.任何建议都应该引人注意.
我可以使用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文件
我在使用Apache POI时遇到excel问题.我可以阅读各行,但有时候我会想要只读一个特定的列.
因此,可以仅读取任何特定列,例如仅读取"A"列或仅读取"C"列.
我正在使用Java语言.
您认为哪个更好用于将docx文档作为java对象读取?为什么?
换一种说法.哪个库支持大多数单词标签?
我正在使用Apache的POI来使用Java操作Excel(.xls)文件.
我正在尝试创建一个新的单元格,其内容是公式的结果,就像用户复制/粘贴公式一样(我称之为"相对"方式,与"绝对"相反).
为了使自己更清楚,这里有一个简单的例子:Cell A1包含"1",B1包含"2",A2包含"3",B2包含"4".单元格A3包含以下公式"= A1 + B1".如果我将公式复制到excel下的A4单元格,它将变为"= A2 + B2":excel正在动态调整公式的内容.
不幸的是,我无法以编程方式获得相同的结果.我找到的唯一解决方案是将公式标记化并自己完成脏工作,但我真的怀疑这应该是这样做的.我无法在指南或API中找到我想要的内容.
有没有更简单的方法来解决这个问题?如果是这样的话,请指点我正确的方向吗?
最好的祝福,
尼尔斯
通过使用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) 我正在使用Apache POI将数据导出到Excel工作表.它工作正常.问题是我需要在生成Excel工作表时在Excel工作表中应用黄色背景颜色几行.请告诉我如何在生成时为excel表格行应用背景颜色.
谢谢,雷迪
我需要使用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) 我正在将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();
我试图通过Cell引用从行中获取Cell,我遇到了问题.例如,我有:
row.getCell(CellReference.convertColStringToIndex("B"));
Run Code Online (Sandbox Code Playgroud)
如果Column索引是1,那么工作正常,但是如果Column被删除,那么BColumn索引就变成了2,并且方法:CellReference.convertColStringToIndex("B")仍然将它转换为1在这种情况下我无法获取我的列,我得到了null.
所以问题是如何从行中获取列,这取决于Cell标识符,这是一个字母?