@author YHC
文字提取:
对于大多数文本提取的要求,标准的ExcelExtractor提供你的需求
click me!!创建Excel的代码在 POI Excel 02 中的工作薄中不同类型的单元格
//初始化输入流
InputStream inp = new FileInputStream("D:/workbook.xls");
//初始化HSSFWorkbook对象
HSSFWorkbook wb = new HSSFWorkbook(new POIFSFileSystem(inp));
//初始化文字提取对象
ExcelExtractor extractor = new ExcelExtractor(wb);
//设置是否根据单元格的公式生成结果,默认false,返回公式本身,不生成结果
extractor.setFormulasNotResults(true);
//设置是否包含工作薄的名称,默认true包含
extractor.setIncludeSheetNames(false);
//提取出文字
String text = extractor.getText();
//输出文字
System.out.println(text);
对于更加详细的文字提取:请见/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java
运行后的输出结果:
单元格颜色填充
//创建Excel
Workbook wb = new HSSFWorkbook();
//创建一个工作薄
Sheet sheet = wb.createSheet("new sheet");
// 创建一个行对象添加一些单元格到其中,Row下标从0开始
Row row = sheet.createRow((short) 1);
// 浅绿色的背景颜色样式
CellStyle style = wb.createCellStyle();
//填充背景颜色
style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
//设置一个cell的前景色样式,大黑斑模式
style.setFillPattern(CellStyle.BIG_SPOTS);
//创建一个单元格
Cell cell = row.createCell(1);
//设置值
cell.setCellValue("X");
//设置样式
cell.setCellStyle(style);
//橙色的前景样式,填充前景颜色不是字体颜色
style = wb.createCellStyle();
//设置前景色
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
//设置一个cell的前景颜色样式,块填充
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
//创建单元格
cell = row.createCell(2);
//设置值
cell.setCellValue("A");
//设置样式
cell.setCellStyle(style);
// 写入文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
运行后的效果:
如果写错误的地方请大家见谅,帮我指出错误,还有关于一些Excel的专业的术语说的不是很专业,I am sorry!