1. 關於POI運用於WEB導出Excel,出現文件格式或者文件擴展名無效
1.調用win+R的快捷鍵運行。輸入regedit並單擊ok。
2. easy-poi導出Excel文件,默認文件名不對,怎麼修改
不知道是不是你上圖空格的原因造成的,我的程序(PHP)使用下面的語句是成功的,差異一是空格、二是大小寫,供你參考:
header('Content-Disposition: attachment; filename="mysql.xls"');
3. 怎麼利用POI 從jsP表格中導出excel文件
兩種方式:
1、直接提取頁面數據,組織成EXCEL
2、提交到原請求,用參數來判斷是否生成EXCEL,而數據則用原來請求數據
4. java web poi如何按查詢結果導出相應的Excel
package com.aerolink.aocs.util.fileUtil;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
//import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class WriteExcelNew {
/**
* Excel文件
*/
private XSSFWorkbook wb = null;
/**
* 輸出Excel文件中的表對象
*/
private XSSFSheet sheet = null;
/**
* 輸出文件流
*/
private FileOutputStream fileOut = null;
/**
* 輸出文件名用戶自定義
*/
private String outputFilename = null;
/**
* 單元格樣式
*/
private XSSFCellStyle cellStyle = null;
// private String newsheet = null; //輸出Excel文件中的表名用戶自定義
/**
* 行
*/
private XSSFRow row=null;
/**
*
*/
private int rowNumber=-1;
/**
* @param outputFilename
* @param newsheet
*/
public WriteExcelNew(String outputFilename, String newsheet) {
wb = new XSSFWorkbook();
//wb.setSheetName(1, "qwe");//設置第一張表的名稱
sheet = wb.createSheet(newsheet);
//sheet.setColumnWidth(1, 40);//第一行 列寬
this.outputFilename = outputFilename;
// this.newsheet = newsheet;
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,int value)方法:
* </p>
* <p>
* 將int數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, int value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
//row.setHeight((short)50);//行高
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,String value)方法:
* </p>
* <p>
* 將String數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, String value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
5. POI導出excel表時文件名變成亂碼怎麼辦
在用POI進行excel表導出時,遇到中文文件名亂碼問題,用下面的方法得到了解決。
轉載自:https://my.oschina.NET/chinamummy29/blog/525639
在導出前對名稱根據瀏覽器做下處理
[java] view plain
<code class="hljs typescript" style=""><span class="hljs-comment" style="">// 判斷瀏覽器類型,firefox瀏覽器做特殊處理,否則下載文件名亂碼</span>
<span class="hljs-keyword" style="">public</span> <span class="hljs-keyword" style="">static</span> <span class="hljs-built_in" style="">void</span> compatibleFileName(HttpServletRequest request, HttpServletResponse response, <span class="hljs-built_in" style="">String</span> excelname) throws UnsupportedEncodingException {
<span class="hljs-built_in" style="">String</span> agent = request.getHeader(<span class="hljs-string" style="">"USER-AGENT"</span>).toLowerCase();
response.setContentType(<span class="hljs-string" style="">"application/vnd.ms-excel"</span>);
<span class="hljs-built_in" style="">String</span> fileName = excelname;
<span class="hljs-built_in" style="">String</span> codedFileName = java.net.URLEncoder.encode(fileName, <span class="hljs-string" style="">"UTF-8"</span>);
<span class="hljs-keyword" style="">if</span> (agent.contains(<span class="hljs-string" style="">"firefox"</span>)) {
response.setCharacterEncoding(<span class="hljs-string" style="">"utf-8"</span>);
response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + <span class="hljs-keyword" style="">new</span> <span class="hljs-built_in" style="">String</span>(fileName.getBytes(), <span class="hljs-string" style="">"ISO8859-1"</span>) + <span class="hljs-string" style="">".xls"</span>);
} <span class="hljs-keyword" style="">else</span> {
response.setHeader(<span class="hljs-string" style="">"content-disposition"</span>, <span class="hljs-string" style="">"attachment;filename="</span> + codedFileName + <span class="hljs-string" style="">".xls"</span>);
}
}</code>
6. java web poi如何按查詢結果導出相應的Excel最好有相應代碼實例。
package com.aerolink.aocs.util.fileUtil;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
//import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class WriteExcelNew {
/**
* Excel文件
*/
private XSSFWorkbook wb = null;
/**
* 輸出Excel文件中的表對象
*/
private XSSFSheet sheet = null;
/**
* 輸出文件流
*/
private FileOutputStream fileOut = null;
/**
* 輸出文件名用戶自定義
*/
private String outputFilename = null;
/**
* 單元格樣式
*/
private XSSFCellStyle cellStyle = null;
// private String newsheet = null; //輸出Excel文件中的表名用戶自定義
/**
* 行
*/
private XSSFRow row=null;
/**
*
*/
private int rowNumber=-1;
/**
* @param outputFilename
* @param newsheet
*/
public WriteExcelNew(String outputFilename, String newsheet) {
wb = new XSSFWorkbook();
//wb.setSheetName(1, "qwe");//設置第一張表的名稱
sheet = wb.createSheet(newsheet);
//sheet.setColumnWidth(1, 40);//第一行 列寬
this.outputFilename = outputFilename;
// this.newsheet = newsheet;
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,int value)方法:
* </p>
* <p>
* 將int數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, int value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
//row.setHeight((short)50);//行高
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,String value)方法:
* </p>
* <p>
* 將String數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, String value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,double value)方法:
* </p>
* <p>
* 將double數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, double value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,boolean
* value)方法:
* </p>
* <p>
* 將boolean數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, boolean value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,Date value)方法:
* </p>
* <p>
* 將Date數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, Date value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* <p>
* Description:exportToExcelFile(short rownum,short cellnum,Calendar
* value)方法:
* </p>
* <p>
* 將Calendar數據寫入Execl文件的表中
* </p>
*
* @param rownum
* @param cellnum
* @param value
*/
public void exportToExcelFile(int rownum, int cellnum, Calendar value) {
if(rowNumber==-1){ //在poi3.8版本中,不這樣做,只能寫入最後一個單元格
rowNumber=rownum;
row = sheet.createRow(rownum);
}else if(rowNumber!=rownum){
rowNumber=rownum;
row = sheet.createRow(rownum);
}
XSSFCell cell = row.createCell(cellnum);
cell.setCellValue(value);
if(cellStyle==null){
setCellStyle("center","center","",false);
}
cell.setCellStyle(cellStyle);
}
/**
* 合並單元格 2012-3-30 孫貴春 add
* @param startRow
* @param startCol
* @param endRow
* @param endCol
*/
public void setMergedRegion(int startRow,int startCol,int endRow,int endCol){
sheet.addMergedRegion(new CellRangeAddress(startRow,endRow,startCol,endCol));//這與1.5版本明顯不同
}
/**
* 設置單元格樣式
* @param a_pos
* @param v_pos
* @param border
* @param wrap
*/
public void setCellStyle(String a_pos,String v_pos,String border,Boolean wrap){
cellStyle=wb.createCellStyle();
//水平位置
if(a_pos.equals("center")){
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
}else if(a_pos.equals("left")){
cellStyle.setAlignment(CellStyle.ALIGN_LEFT);
}else{
cellStyle.setAlignment(CellStyle.ALIGN_RIGHT);
}
//垂直位置
if(v_pos.equals("center")){
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
}else if(v_pos.equals("top")){
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_TOP);
}else{
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_BOTTOM);
}
//邊框
if(border.equals("thin")){
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
}else if(border.equals("double")){
cellStyle.setBorderBottom(CellStyle.BORDER_DOUBLE);
cellStyle.setBorderLeft(CellStyle.BORDER_DOUBLE);
cellStyle.setBorderRight(CellStyle.BORDER_DOUBLE);
cellStyle.setBorderTop(CellStyle.BORDER_DOUBLE);
}else if(border.equals("thick")){
cellStyle.setBorderBottom(CellStyle.BORDER_THICK);
cellStyle.setBorderLeft(CellStyle.BORDER_THICK);
cellStyle.setBorderRight(CellStyle.BORDER_THICK);
cellStyle.setBorderTop(CellStyle.BORDER_THICK);
}else if(border.equals("medium")){
cellStyle.setBorderBottom(CellStyle.BORDER_MEDIUM);
cellStyle.setBorderLeft(CellStyle.BORDER_MEDIUM);
cellStyle.setBorderRight(CellStyle.BORDER_MEDIUM);
cellStyle.setBorderTop(CellStyle.BORDER_MEDIUM);
}else if(border.equals("none")){
cellStyle.setBorderBottom(CellStyle.BORDER_NONE);
cellStyle.setBorderLeft(CellStyle.BORDER_NONE);
cellStyle.setBorderRight(CellStyle.BORDER_NONE);
cellStyle.setBorderTop(CellStyle.BORDER_NONE);
}else if(border.equals("dotted")){
cellStyle.setBorderBottom(CellStyle.BORDER_DOTTED);
cellStyle.setBorderLeft(CellStyle.BORDER_DOTTED);
cellStyle.setBorderRight(CellStyle.BORDER_DOTTED);
cellStyle.setBorderTop(CellStyle.BORDER_DOTTED);
}
//設置自動換行
cellStyle.setWrapText(wrap);
/*
cellStyle.setRotation((short)90);//設置單元格內文字旋轉角度
XSSFFont font=wb.createFont();
font.setFamily(1);
font.setBold(true);
cellStyle.setFont(font);
*/
}
/**
* <p>
* Description: closeFileOut()方法:關閉文件輸出流
* </p>
*
* @throws IOException
*/
public void closeFileOut() throws IOException {
fileOut = new FileOutputStream(outputFilename);
wb.write(fileOut);
fileOut.close();
}
/**
* <p>
* 測試方法
* </p>
*
* @param arg
*/
public static void main(String arg[]) {
try {
WriteExcelNew writeExcel = new WriteExcelNew("bak\\new.xls", "newsheet");
writeExcel.exportToExcelFile((short) 0, (short) 0, 99.99);
writeExcel.closeFileOut();
} catch (Exception e) {
System.out.println("Something Happen");
e.printStackTrace();
}
}
}
7. 多表逐級關聯報表,使用poi方法導出excel
多表關聯導出,簡單介紹:有A1表,A2表,B表,C表,A1和A2是一對多的關系,B表和A1表也是一對多的關系,C表和B表是一對多的關系。這是簡化的業務邏輯,表之間的關系就類似這種。完成對關聯導出。
熟悉poi導出的可能會知道,報表的導出總體思路是將數據按照excel的每一行去寫入數據的,假如是有序的數據還好說點,比如單表的導出,直接單表查詢出來,循環寫入每一個excel行就行,這種做法很簡單。但是假如遇到一對多的表關聯數據呢?更復雜一點的就是一對多對多,每一行都要根據數據來變化結構。
這種復雜邏輯我真的沒有什麼特別好的方法來解決,只能將這些邏輯拆分,將所有數據都查詢出來,然後按照每一個一個多關系拆分,利用stream表達式進行快速篩選,完成數據的重組,寫入excel中。
8. POI導出excel表時文件名變成亂碼怎麼辦
POI類庫是JAVA平台下操作EXCEL的類庫,功能很強大。在使用POI導出excel表格時經常會出現文件名變成亂碼的情況,POI導出excel
表時文件名變成亂碼是怎麼回事呢,如何解決?今天我們要說的就是在創建excel工作表時,用中文做文件名和工作表名會出現亂碼的問題,以便大家能解決
POI導出excel表時文件名變成亂碼的問題。先說以中文作為工作表名,大家創建工作表的代碼一般如下:
HSSFWorkbook workbook = new HSSFWorkbook();//創建EXCEL文件
HSSFSheet sheet= workbook.createSheet(sheetName); //創建工作表
這樣在用英文名作為工作表名是沒問題的,但如果sheetName是中文字元,就會出現亂碼,解決的方法如下代碼:
HSSFSheet sheet= workbook.createSheet();
workbook.setSheetName(0, sheetName,(short)1); //這里(short)1是解決中文亂碼的關鍵;而第一個參數是工作表的索引號。
沒有太多原因,POI就是如此;再說導出的EXCEL文件名的中文亂碼問題, 導出時代碼如下:
.....
this.getResponse().reset();
this.getResponse().setContentType("application/msexcel");
this.getResponse().setHeader("Content-Disposition", "inline;filename=中文名.xls");
try {
em.getExcelMutliIO(this.getResponse().getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
這個時候導出去時,文件名會為亂碼,解決的辦法如下,在你的代碼增加下列函數:
public static String toUtf8String(String s){
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++){
char c = s.charAt(i);
if (c >= 0 && c <= 255){sb.append(c);}
else{
byte[] b;
try { b = Character.toString(c).getBytes("utf-8");}
catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
然後在導出時,對文件名引用該函數,代碼如下:
this.getResponse().setHeader("Content-Disposition", "inline;filename=" +toUtf8String("中文文件名.xls"));
9. POI動態生成Excel
項目功能里要求能夠將展示的報表導出excel,因為報表的數據都是動態從list傳進來的,所以使用了POI技術來動態構建excel文件。
網路里說POI是介個樣子的
「ApachePOI是Apache軟體基金會的開放源碼函式庫,POI提供API給Java程序對MicrosoftOffice格式檔案讀和寫的功能」
簡單來說就是通過它的API可以進行創建/讀取文檔,sheet,行列單元格等操作,也可以設置文檔的各個樣式。
剛接觸這個任務的時候查了很多資料,最後主要是參考了這篇文章,程序復制粘貼就跑得通,對POI的整個理解可以得到很好地提升。
詳解JAVA POI導出EXCEL報表的操作(包括各種格式及樣式的實現)
然後參考著就實現了項目里要求的樣子啦
=======================================================
網路中的示例附上作為下次使用的備忘。
創建Excel 文檔
示例1將演示如何利用Jakarta POI API 創建Excel 文檔。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java .io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盤下*/
public static String outputFile="D:\test.xls";
public static void main(String argv[]){
try{
// 創建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名為預設值
// 如要新建一名為"效益指標"的工作表,其語句為:
// HSSFSheet sheet = workbook.createSheet("效益指標");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置創建行(最頂端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置創建單元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定義單元格為字元串類型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在單元格中輸入一些內容
cell.setCellValue("增加值");
// 新建一輸出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相應的Excel 工作簿存檔
workbook.write(fOut);
fOut.flush();
// 操作結束,關閉文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已運行 xlCreate() : " + e );
}
}
}
讀取Excel文檔中的數據
示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為test1.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java .io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:\test1.xls";
public static void main(String argv[]){
try{
// 創建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著預設名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的預設索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
設置單元格格式
在這里,我們將只介紹一些和格式設置有關的語句,我們假定workbook就是對一個工作簿的引用。在Java中,第一步要做的就是創建和設置 字體和單元格的格式,然後再應用這些格式:
1、創建字體,設置其為紅色、粗體:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、創建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、應用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("標題 ");
處理WORD文檔
import java .io.*;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
public class TestPoi {
public TestPoi() {
}
public static void main(String args[]) throws Exception
{
FileInputStream in = new FileInputStream ("D:\a.doc");
WordExtractor extractor = new WordExtractor();
String str = extractor.extractText(in);
//System.out.println("the result length is"+str.length());
System.out.println(str);
}
}
搜集鏈接 方便以後查閱
POI操作Excel常用方法總結
自己封裝的poi操作excel工具類
10. poi如何通過模板導出excel
共分為六部完成根據模板導出excel操作:
第一步、設置excel模板路徑(setSrcPath)
第二步、設置要生成excel文件路徑(setDesPath)
第三步、設置模板中哪個Sheet列(setSheetName)
第四步、獲取所讀取excel模板的對象(getSheet)
第五步、設置數據(分為6種類型數據:setCellStrValue、setCellDateValue、 setCellDoubleValue、setCellBoolValue、setCellCalendarValue、setCellRichTextStrValue)
第六步、完成導出 (exportToNewFile)