Poi的Excel的匯入匯出 支援2007
需要匯入
poi-3.7.jar
commons-io-2.4.jar
Excel2003匯出
import java.io.File;
import java.io.FileOutputStream;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class poiexp {
public static void main(String[] args) {
String[] title={"id","name","sex"};
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow row = sheet.createRow(0);
HSSFCell cell=null;
for (int i = 0; i < title.length; i++) {
cell=row.createCell(i);
cell.setCellValue(title[i]);
}
for (int i = 1; i <= 10; i++) {
HSSFRow nextrow =sheet.createRow(i);
HSSFCell Cell1 = nextrow.createCell(0);
Cell1.setCellValue("id"+i);
Cell1 = nextrow.createCell(1);
Cell1.setCellValue("name"+i);
Cell1 = nextrow.createCell(2);
Cell1.setCellValue("nv"+i);
}
File file =new File("d:/wook.xls");
try {
file.createNewFile();
FileOutputStream stream=FileUtils.openOutputStream(file);
workbook.write(stream);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Excel2003匯出入
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelRead {
public static void main(String[] args) {
File file =new File("d:/wook.xls");
try {
HSSFWorkbook Workbook =
new HSSFWorkbook(FileUtils.openInputStream(file));
/*HSSFSheet sheet = Workbook.getSheet("sheet0");*/
HSSFSheet sheet = Workbook.getSheetAt(0);
int lastRowNum = sheet.getLastRowNum();
for (int j = 0; j < lastRowNum; j++) {
HSSFRow row = sheet.getRow(j);
short lastCellNum = row.getLastCellNum();
for (int k = 0; k < lastCellNum; k++) {
HSSFCell cell = row.getCell(k);
String stringCellValue = cell.getStringCellValue();
System.out.print(stringCellValue);
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Excel
匯出的建議HSSF 考慮客戶的相容性 匯入的時候需要判斷2003還是2007
需要匯入
poi-3.9-20121203.jar
commons-io-2.4.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar
dom4j-1.6.1.jar (也需要dom4j)
如果未匯入xmlbeans-2.3.0.jar
報一下錯誤
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObjectat com.ithema.excel.poiexp.main(poiexp.java:16)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
public class poiexp {
public static void main(String[] args) {
String[] title={"id","name","sex"};
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
XSSFRow row = sheet.createRow(0);
XSSFCell cell=null;
for (int i = 0; i < title.length; i++) {
cell=row.createCell(i);
cell.setCellValue(title[i]);
}
for (int i = 1; i <= 10; i++) {
XSSFRow nextrow =sheet.createRow(i);
XSSFCell Cell1 = nextrow.createCell(0);
Cell1.setCellValue("id"+i);
Cell1 = nextrow.createCell(1);
Cell1.setCellValue("name"+i);
Cell1 = nextrow.createCell(2);
Cell1.setCellValue("nv"+i);
}
File file =new File("d:/22.xlsx");
try {
file.createNewFile();
FileOutputStream stream=FileUtils.openOutputStream(file);
workbook.write(stream);
} catch (Exception e) {
e.printStackTrace();
}
}
}