mirror of https://github.com/alibaba/easyexcel
zhuangjiaju
5 years ago
23 changed files with 342 additions and 33 deletions
@ -0,0 +1,138 @@
|
||||
package com.alibaba.easyexcel.test.temp; |
||||
|
||||
import java.io.FileInputStream; |
||||
import java.io.InputStream; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
import org.apache.poi.hssf.usermodel.HSSFDateUtil; |
||||
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.ss.usermodel.BuiltinFormats; |
||||
import org.apache.poi.ss.usermodel.Cell; |
||||
import org.apache.poi.ss.usermodel.DataFormatter; |
||||
import org.apache.poi.ss.usermodel.DateUtil; |
||||
import org.apache.poi.ss.usermodel.ExcelStyleDateFormatter; |
||||
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.ss.usermodel.WorkbookFactory; |
||||
import org.junit.Ignore; |
||||
import org.junit.Test; |
||||
import org.slf4j.Logger; |
||||
import org.slf4j.LoggerFactory; |
||||
|
||||
import com.alibaba.excel.EasyExcel; |
||||
import com.alibaba.fastjson.JSON; |
||||
|
||||
/** |
||||
* 临时测试 |
||||
* |
||||
* @author Jiaju Zhuang |
||||
**/ |
||||
@Ignore |
||||
public class StyleTest { |
||||
private static final Logger LOGGER = LoggerFactory.getLogger(StyleTest.class); |
||||
|
||||
@Test |
||||
public void test() { |
||||
List<Object> list = EasyExcel.read("D:\\test\\styleTest.xls").sheet().headRowNumber(0).doReadSync(); |
||||
for (Object data : list) { |
||||
LOGGER.info("返回数据:{}", JSON.toJSONString(data)); |
||||
} |
||||
} |
||||
|
||||
@Test |
||||
public void poi() throws Exception { |
||||
InputStream is = new FileInputStream("D:\\test\\styleTest.xls"); |
||||
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is); |
||||
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); |
||||
HSSFRow hssfRow = hssfSheet.getRow(0); |
||||
System.out.println(hssfRow.getCell(0).getCellStyle().getDataFormatString()); |
||||
DataFormatter formatter = new DataFormatter(); |
||||
System.out.println(hssfRow.getCell(0).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(1).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(2).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(0).getCellStyle().getDataFormatString()); |
||||
System.out.println(hssfRow.getCell(1).getCellStyle().getDataFormatString()); |
||||
System.out.println(hssfRow.getCell(2).getCellStyle().getDataFormatString()); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void poi07() throws Exception { |
||||
InputStream is = new FileInputStream("D:\\test\\styleTest.xlsx"); |
||||
Workbook workbook = WorkbookFactory.create(is); // 这种方式 Excel 2003/2007/2010 都是可以处理的
|
||||
Sheet sheet = workbook.getSheetAt(0); |
||||
Row hssfRow = sheet.getRow(0); |
||||
System.out.println(hssfRow.getCell(0).getCellStyle().getDataFormatString()); |
||||
DataFormatter formatter = new DataFormatter(); |
||||
System.out.println(hssfRow.getCell(0).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(1).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(2).getNumericCellValue()); |
||||
System.out.println(hssfRow.getCell(0).getCellStyle().getDataFormat()); |
||||
System.out.println(hssfRow.getCell(1).getCellStyle().getDataFormat()); |
||||
System.out.println(hssfRow.getCell(2).getCellStyle().getDataFormat()); |
||||
System.out.println(hssfRow.getCell(3).getCellStyle().getDataFormat()); |
||||
System.out.println(hssfRow.getCell(0).getCellStyle().getDataFormatString()); |
||||
System.out.println(hssfRow.getCell(1).getCellStyle().getDataFormatString()); |
||||
System.out.println(hssfRow.getCell(2).getCellStyle().getDataFormatString()); |
||||
System.out.println(hssfRow.getCell(3).getCellStyle().getDataFormatString()); |
||||
isDate(hssfRow.getCell(0)); |
||||
isDate(hssfRow.getCell(1)); |
||||
isDate(hssfRow.getCell(2)); |
||||
isDate(hssfRow.getCell(3)); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void poi0701() throws Exception { |
||||
InputStream is = new FileInputStream("D:\\test\\f1.xlsx"); |
||||
Workbook workbook = WorkbookFactory.create(is); // 这种方式 Excel 2003/2007/2010 都是可以处理的
|
||||
Sheet sheet = workbook.getSheetAt(0); |
||||
print(sheet.getRow(0).getCell(0)); |
||||
print(sheet.getRow(1).getCell(0)); |
||||
print(sheet.getRow(2).getCell(0)); |
||||
print(sheet.getRow(3).getCell(0)); |
||||
} |
||||
|
||||
private void print(Cell cell) { |
||||
System.out.println( |
||||
DateUtil.isADateFormat(cell.getCellStyle().getDataFormat(), cell.getCellStyle().getDataFormatString())); |
||||
System.out.println(cell.getCellStyle().getDataFormat()); |
||||
System.out.println(cell.getCellStyle().getDataFormatString()); |
||||
DataFormatter f = new DataFormatter(); |
||||
System.out.println(f.formatCellValue(cell)); |
||||
if (cell.getCellStyle().getDataFormatString() != null) { |
||||
|
||||
} |
||||
ExcelStyleDateFormatter ff = new ExcelStyleDateFormatter(cell.getCellStyle().getDataFormatString()); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void testFormatter() throws Exception { |
||||
ExcelStyleDateFormatter ff = new ExcelStyleDateFormatter("yyyy年m月d日"); |
||||
|
||||
System.out.println(ff.format(new Date())); |
||||
} |
||||
|
||||
private void isDate(Cell cell) { |
||||
System.out.println( |
||||
DateUtil.isADateFormat(cell.getCellStyle().getDataFormat(), cell.getCellStyle().getDataFormatString())); |
||||
System.out.println(HSSFDateUtil.isCellDateFormatted(cell)); |
||||
DataFormatter f = new DataFormatter(); |
||||
System.out.println(f.formatCellValue(cell)); |
||||
|
||||
} |
||||
|
||||
@Test |
||||
public void testBuiltinFormats() throws Exception { |
||||
System.out.println(BuiltinFormats.getBuiltinFormat(48)); |
||||
System.out.println(BuiltinFormats.getBuiltinFormat(57)); |
||||
System.out.println(BuiltinFormats.getBuiltinFormat(28)); |
||||
|
||||
} |
||||
|
||||
} |
@ -0,0 +1,53 @@
|
||||
package com.alibaba.easyexcel.test.temp.poi; |
||||
|
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
|
||||
import org.apache.poi.ss.usermodel.DateUtil; |
||||
import org.apache.poi.xssf.streaming.SXSSFRow; |
||||
import org.apache.poi.xssf.streaming.SXSSFSheet; |
||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook; |
||||
import org.apache.poi.xssf.usermodel.XSSFRow; |
||||
import org.apache.poi.xssf.usermodel.XSSFSheet; |
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
||||
import org.junit.Ignore; |
||||
import org.junit.Test; |
||||
import org.slf4j.Logger; |
||||
import org.slf4j.LoggerFactory; |
||||
|
||||
import com.alibaba.easyexcel.test.util.TestFileUtil; |
||||
|
||||
/** |
||||
* 测试poi |
||||
* |
||||
* @author Jiaju Zhuang |
||||
**/ |
||||
@Ignore |
||||
public class PoiFormatTest { |
||||
private static final Logger LOGGER = LoggerFactory.getLogger(PoiFormatTest.class); |
||||
|
||||
@Test |
||||
public void lastRowNum() throws IOException { |
||||
String file = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; |
||||
SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); |
||||
SXSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); |
||||
LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); |
||||
SXSSFRow row = xssfSheet.getRow(0); |
||||
LOGGER.info("第一行数据:{}", row); |
||||
xssfSheet.createRow(20); |
||||
LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); |
||||
} |
||||
|
||||
@Test |
||||
public void lastRowNumXSSF() throws IOException { |
||||
String file = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; |
||||
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); |
||||
LOGGER.info("一共:{}个sheet", xssfWorkbook.getNumberOfSheets()); |
||||
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); |
||||
LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); |
||||
XSSFRow row = xssfSheet.getRow(0); |
||||
LOGGER.info("第一行数据:{}", row); |
||||
xssfSheet.createRow(20); |
||||
LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); |
||||
} |
||||
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue