利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出
来源:互联网 发布:如何找到网络打印机 编辑:程序博客网 时间:2024/05/16 00:35
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下载)或其它网络地址(自己可以上网搜)
以上内容多为网上摘录,自己整理和添加的。
- 利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出
- 利用poi对excel进行读取操作实例
- 利用java对excel进行读写操作
- 利用poi.jar对excel进行读取、修改和删除
- java利用poi对excel进行操作可导入导出
- POI对Excel进行读写操作
- 使用POI对word文件进行读取
- java使用poi导出excel的内容,同时可以利用反射进行动态获取信息
- 利用Oracle目录对文件进行读写操作
- 利用css的样式对文本进行隐藏和显示
- JAVA读取XML文件并利用该文件对数据库进行配置操作
- JAVA读取XML文件并利用该文件对数据库进行配置操作
- 利用VC对Excel进行操作
- 使用maven+springmvc+POI对上传的Excel文件进行解析并操作
- Android ExifInterface对JPG文件的exif信息进行读写
- 用POI实现对Excel进行操作
- 利用POI将读取的数据写入Excel
- Silverlight OOB模式的设置和对文件进行读取和写入的操作
- VS2005 Security Update KB971090导致你的插件不能正确注册
- [转]WinCE BSP的BIB文件介绍
- winCE6.0 目录下工程的编译顺序
- 含有继承关系的初始化过程
- Python读写文件
- 利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出
- 关于使用CHttpFile
- 复杂系统与复杂网络
- Windows Mobile,DMProcessConfigXML 使用实例
- oracle
- 装了windows7总是出现闪屏怎么办??请
- 自动开机设置
- 我们的龙泉(转)
- kohana