您的位置:首页 > Web前端 > CSS

利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出

2009-11-02 17:56 1136 查看
1. 准备工作
提供对word和excel进行操作所需的jar包:poi.jar和tm-extractors.jar及log4j.jar及其它的配置文件log4j.properties
2. 创建项目、包和类
3. 编写log4j.properties([/u65E5/u5FD7/u4FE1/u606F]是unicode,中文即[日志信息])
#Created by JInto - www.guh-software.de
#Sat Oct 31 22:04:38 CST 2009
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH/:mm/:ss} [/u65E5/u5FD7/u4FE1/u606F] %m%n
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=C/://Documents and Settings//gust///u684C/u9762//log4j.txt
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH/:mm/:ss} [/u65E5/u5FD7/u4FE1/u606F] %m%n
log4j.rootLogger=INFO,A1,A2
·以上配置信息提供了两种输出方式:log4j.appender.A1=org.apache.log4j.ConsoleAppender提供的控制台的日志输出方式 及log4j.appender.A2=org.apache.log4j.FileAppender 提供的文件(这是文件的位置:C/://Documents and Settings//gust///u684C/u9762//log4j.txt)式日志输出方式
·日志输出格式(log4j.appender.A2.layout.ConversionPattern)统一为:
%d{yyyy-MM-dd HH/:mm/:ss} [/u65E5/u5FD7/u4FE1/u606F] %m%n
4. 编写具体的类
·public class XXXX {

public static String fileToBeRead = "D:/testPOIInput.xls";

private static Logger logger = Logger.getLogger(XXXX.class);

public static void main(String args[]){

PropertyConfigurator.configure("bin/log4j1.properties");

/*
* HSSFWorkbook(Excel文件) 是由sheet(Excel薄,可以理解为页面,观察Excel的左下角)组成的
* sheet又包含许多row(行)
* row中包含许多cell(单元格====小方格)
*/
try{
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
HSSFSheet sheet = workbook.getSheetAt(0);//getSheet("sheet1");
HSSFRow row;
HSSFCell cell;
for(int i=0; i<=sheet.getLastRowNum();i++){
row = sheet.getRow(i);
for(int j=0; j<row.getLastCellNum(); j++){
cell = row.getCell((short)j);
if(cell.getCellType() == 1) //字符串 0 则为数字类型
System.out.print(cell.getStringCellValue()+"/t/t");
else
System.out.print(cell.getNumericCellValue()+"/t/t");
}
System.out.println();
}
}catch(Exception e){
e.printStackTrace();
System.out.println(e);
}finally{
logger.info("数据读取完毕!");
}
}
}
输出结果为:
姓名 年龄 性别 家庭住址
张三 43.0 女 辽宁省沈阳市三区四街道
2009-10-31 22:50:18 [日志信息] 数据读取完毕!
你可以对比此输出内容和Excel中的内容是否一致
·public class XXXX {

public static String outputFile="D://testPOIOutput.xls";
private static Logger logger = Logger.getLogger(XXXX.class);

@SuppressWarnings("static-access")
public static void main(String args[]){

PropertyConfigurator.configure("bin/log4j1.properties");

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheet1");
HSSFRow row = sheet.createRow((short)0);
//利用POI设置输出到Excel的内容的格式
//设置Excel单元格格式
//字体为红色、粗体
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//创建格式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);
//创建单元格,并应用以上格式 你可以循环创建多个Cell
HSSFCell cell = row.createCell((short)0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(cell.ENCODING_UTF_16);

cell.setCellValue("POI测试");

try {
FileOutputStream fo = new FileOutputStream(outputFile);
workbook.write(fo);
fo.close();
logger.info("成功输出,请查看文件是否存在.");
} catch (Exception e) {
e.printStackTrace();
logger.fatal("错误原因是:"+e);
logger.error("--------文件输入输出流错误----");
}

}
}
输出结果:
2009-10-31 22:51:55 [日志信息] 成功输出,请查看文件是否存在.
你可一查看D:/testPOIOutput.xls中是否有POI测试此信息
·public class XXXX {

private static Logger logger = Logger.getLogger(XXXX.class);

public static void main(String args[]){
PropertyConfigurator.configure("bin/log4j1.properties");
FileInputStream fis;
try {
fis = new FileInputStream("D:/testWord.doc");
WordExtractor we = new WordExtractor();
String str;
str = we.extractText(fis);
logger.info(str);
} catch (Exception e) {
if(e instanceof FileNotFoundException)
logger.info("此文件不存在");
else
logger.info("输入流读取错误");
e.printStackTrace();
}
}
}
输出结果:
2009-10-31 22:56:35 [日志信息] 正确读取了Word中的文字
”正确读取了Word中的文字” 正是D:/testWord.docWord中的文字内容
5. jar包下载地址:利用java对Word和Excel进行操作(poi.jar、tm-extractors.jar及log4j.jar下载)或其它网络地址(自己可以上网搜)
以上内容多为网上摘录,自己整理和添加的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐