本文目錄一覽:
- 1、java中poi讀取excel時報錯:Unable to construct record instance,怎麼解決呀?
- 2、java poi怎麼獲取Excel sheet頁的數量?
- 3、怎麼使用JAVA,POI讀寫word文檔
java中poi讀取excel時報錯:Unable to construct record instance,怎麼解決呀?
根據你的截圖,錯誤的可能有兩個,要分別測試對應一下:
1、excel文檔有問題,從截圖下方看(就是亂碼部分)可能excel文檔的第1個sheet是個被刪除的sheet,所以名稱是很長的亂碼,導致無法讀取。
修改方法:創建一個新的excel文檔,然後將需要的內容以文本的形式複製進去,再調用。
2、poi的問題,這個有可能是poi和excel的版本不對應。
修改方法:下載poi的時候確定清楚裡面的hkec訪問版本對應的是不是你的excel文件的版本。
java poi怎麼獲取Excel sheet頁的數量?
java poi獲取Excel sheet頁的數量方法如下:
在導出excel時候需要導出多個sheet頁,後面sheet頁會覆蓋前面sheet頁的內容。
這麼寫代碼:
HSSFWorkbook workbook = null;
workbook=new HSSFWorkbook();
for(){
//沒有現成的文件需要重新計算
HSSFSheet sheet_sin =workbook.createSheet(month_query1);
sheet_sin= makeJDL(year_query,month_query1,sheet_sin,workbook);
}
怎麼使用JAVA,POI讀寫word文檔
如何使用JAVA、POI讀寫word文檔??
能不能將一個word的內容完全讀過來,放到一個新生成的word文件中去,要求能將word中的表格、圖片等保留,格式不變。最好能給個例子?網上多是很早以前的那個解決方法如下:,只能讀文本內容,且新生成的word文件打開時總是要提示選擇編碼,不太好用,希望能有新的解決方案??!!
poi操作word
1.1 添加poi支持:包下載地址
1.2 POI對Excel文件的讀取操作比較方便,POI還提供對Word的DOC格式文件的讀取。但在它的發行版本中沒有發布對Word支持的模塊,需要另外下載一個POI的擴展的Jar包。下載地址為;下載extractors-0.4_zip這個文件
2、提取Doc文件內容
public static String readDoc(String doc) throws Exception {
// 創建輸入流讀取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 創建WordExtractor
extractor = new WordExtractor();
// 對DOC文件進行提取
text = extractor.extractText(in);
return text;
}
public static void main(String[] args) {
try{
String text = WordReader.readDoc(“c:/test.doc”);
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}
3、寫入Doc文檔
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class WordWriter {
public static boolean writeDoc(String path, String content) {
boolean w = false;
try {
// byte b[] = content.getBytes(“ISO-8859-1”);
byte b[] = content.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(b);
POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();
DocumentEntry de = directory.createDocument(“WordDocument”, bais);
FileOutputStream ostream = new FileOutputStream(path);
fs.writeFilesystem(ostream);
bais.close();
ostream.close();
} catch (IOException e) {
e.printStackTrace();
}
return w;
}
public static void main(String[] args) throws Exception{
String wr=WordReader.readDoc(“D:\\test.doc”);
boolean b = writeDoc(“D:\\result.doc”,wr);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/195486.html