import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.util.Date;
import
java.util.Iterator;
import
org.apache.poi.hssf.usermodel.HSSFCell;
import
org.apache.poi.hssf.usermodel.HSSFCellStyle;
import
org.apache.poi.hssf.usermodel.HSSFDataFormat;
import
org.apache.poi.hssf.usermodel.HSSFRow;
import
org.apache.poi.hssf.usermodel.HSSFSheet;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook;
import
org.apache.poi.poifs.filesystem.OfficeXmlFileException;
import
org.apache.poi.ss.usermodel.Cell;
import
org.apache.poi.ss.usermodel.Row;
import
org.apache.poi.ss.usermodel.Sheet;
import
org.apache.poi.ss.usermodel.Workbook;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook;
public
class
TestReadExcel {
public
static
void
main(String[] args) {
try
{
readExcel();
writeExcel();
}
catch
(IOException e) {
e.printStackTrace();
}
}
public
static
void
readExcel()
throws
IOException {
Workbook wb = getWorkbook();
printExcel(wb);
}
public
static
void
printExcel(Workbook wb) {
int
sheetCount = wb.getNumberOfSheets();
for
(
int
i = 0; i < sheetCount; i++) {
Sheet sheet = wb.getSheetAt(i);
Iterator<Row> rows = sheet.iterator();
System.
out
.println();
printEveryRow(rows);
}
}
public
static
Workbook getWorkbook()
throws
IOException {
File file =
new
File(
"D:/workbook.xls"
);
FileInputStream fin =
new
FileInputStream(file);
Workbook wb =
null
;
try
{
wb =
new
HSSFWorkbook(fin);
}
catch
(OfficeXmlFileException e) {
wb =
new
XSSFWorkbook(fin);
}
return
wb;
}
public
static
void
printEveryRow(Iterator<Row> rows) {
while
(rows.hasNext()) {
Row row = rows.next();
Iterator<Cell> cells = row.iterator();
while
(cells.hasNext()) {
Cell cell = cells.next();
switch
(cell.getCellType()) {
case
Cell.
CELL_TYPE_BLANK
:
System.
out
.println(cell.getStringCellValue());
break
;
case
Cell.
CELL_TYPE_NUMERIC
:
System.
out
.println(cell.getNumericCellValue());
break
;
case
Cell.
CELL_TYPE_STRING
:
System.
out
.println(cell.getStringCellValue());
break
;
case
Cell.
CELL_TYPE_FORMULA
:
System.
out
.println(cell.getCachedFormulaResultType());
break
;
case
Cell.
CELL_TYPE_BOOLEAN
:
System.
out
.println(cell.getBooleanCellValue());
break
;
case
Cell.
CELL_TYPE_ERROR
:
System.
out
.println(cell.getErrorCellValue());
break
;
}
}
}
}
public
static
void
writeExcel() {
try
{
HSSFWorkbook wb =
new
HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(
"new sheet"
);
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue(1);
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue(
"test"
);
row.createCell(3).setCellValue(
true
);
HSSFCellStyle cellStlye = wb.createCellStyle();
cellStlye.setDataFormat(HSSFDataFormat. getBuiltinFormat(
"m/d/yy h:mm"
));
HSSFCell dCell = row.createCell(4);
dCell.setCellValue(
new
Date());
dCell.setCellStyle(cellStlye);
HSSFCell csCell = row.createCell(5);
// csCell.set
csCell.setCellValue(
"中文测试_Chinese Words Test"
);
row.createCell(6).setCellType(HSSFCell.
CELL_TYPE_ERROR
);
FileOutputStream fileOut =
new
FileOutputStream(
"workbook.xls"
);
wb.write(fileOut);
fileOut.close();
}
catch
(Exception e) {
e.printStackTrace();
}
}
// public static void toJson(){
// JSONArray jsonArray = new JSONArray();
// JSONObject json =new JSONObject();
// json.put(i, value)
// }
}