需要:jxl.jar 、log4j-1.2.9.jar 包。(带日志输出的)package com;
import jxl.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.*;public class ReadExcel {
/**
* 读取Excel
* @param filePath
*/
static final Logger logger = (Logger) Logger.getLogger(ReadExcel.class);
public String[][] readExcel()
{
String urlstr="D:/project/myserver/WebRoot/people.xls";
String OutRExcel[][];
ArrayList<myInAndOutBean[]> _myExA=new ArrayList<myInAndOutBean[]>();
PropertyConfigurator.configure("D:\\project\\myserver\\WebRoot\\log4j.properties");
logger.setLevel ( ( Level ) Level.DEBUG ) ;
int myCol=0;
int myR=0;
try
{
InputStream is = new FileInputStream(urlstr);
//add for log4j: log a message with the info level
logger.info("文件加入成功");
Workbook rwb = Workbook.getWorkbook(is);
Sheet st = rwb.getSheet(0);
myCol=st.getColumns();
//add for log4j: log a message with the info level
logger.info("列数:"+myCol);
//定义一个MyBean的数组,长度为myCol
myR=st.getRows();
//add for log4j: log a message with the info level
logger.info("行数:"+myR);
for (int j=0;j<myR;j++){
myInAndOutBean[] StrMyBean=new myInAndOutBean[myCol];
for(int i=0;i<myCol;i++){
Cell c=st.getCell(i,j);
//通用的获取cell值的方式,返回字符串
String strc = c.getContents();
//写入到StrMyBean数组中
myInAndOutBean _myB=new myInAndOutBean();
_myB.setBean(strc);
StrMyBean[i]=_myB;
}
_myExA.add(StrMyBean);
}
//add for log4j: log a message with the info level
logger.info("数据倒入到ArrayList。");
//关闭
rwb.close();
}
catch(Exception e)
{
//add for log4j: log a message with the error level
logger.error ( "Server constructor IOException: " + e ) ;
e.printStackTrace();
}
//转成数组,以便传入客户端
OutRExcel=new String[myR][myCol];
for(int i=0;i<_myExA.size();i++){
myInAndOutBean[] myB=(myInAndOutBean[])(_myExA.get(i));
for(int j=0;j<myB.length;j++){
OutRExcel[i][j]=myB[j].getBean();
}
}
//显示打印
for(int i=0;i<myR;i++){
for(int j=0;j<myCol;j++){
System.out.print(OutRExcel[i][j]+" ");
}
System.out.println();
}
return OutRExcel;
}
//public static void main(String[] args){
// ReadExcel _myE=new ReadExcel();
// _myE.readExcel();
//
//}
}日志文件:log4j.propertieslog4j.rootLogger=INFO,A1,A2log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%nlog4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=D:/project/myserver/WebRoot/lgm.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c - %m%n
import jxl.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.*;public class ReadExcel {
/**
* 读取Excel
* @param filePath
*/
static final Logger logger = (Logger) Logger.getLogger(ReadExcel.class);
public String[][] readExcel()
{
String urlstr="D:/project/myserver/WebRoot/people.xls";
String OutRExcel[][];
ArrayList<myInAndOutBean[]> _myExA=new ArrayList<myInAndOutBean[]>();
PropertyConfigurator.configure("D:\\project\\myserver\\WebRoot\\log4j.properties");
logger.setLevel ( ( Level ) Level.DEBUG ) ;
int myCol=0;
int myR=0;
try
{
InputStream is = new FileInputStream(urlstr);
//add for log4j: log a message with the info level
logger.info("文件加入成功");
Workbook rwb = Workbook.getWorkbook(is);
Sheet st = rwb.getSheet(0);
myCol=st.getColumns();
//add for log4j: log a message with the info level
logger.info("列数:"+myCol);
//定义一个MyBean的数组,长度为myCol
myR=st.getRows();
//add for log4j: log a message with the info level
logger.info("行数:"+myR);
for (int j=0;j<myR;j++){
myInAndOutBean[] StrMyBean=new myInAndOutBean[myCol];
for(int i=0;i<myCol;i++){
Cell c=st.getCell(i,j);
//通用的获取cell值的方式,返回字符串
String strc = c.getContents();
//写入到StrMyBean数组中
myInAndOutBean _myB=new myInAndOutBean();
_myB.setBean(strc);
StrMyBean[i]=_myB;
}
_myExA.add(StrMyBean);
}
//add for log4j: log a message with the info level
logger.info("数据倒入到ArrayList。");
//关闭
rwb.close();
}
catch(Exception e)
{
//add for log4j: log a message with the error level
logger.error ( "Server constructor IOException: " + e ) ;
e.printStackTrace();
}
//转成数组,以便传入客户端
OutRExcel=new String[myR][myCol];
for(int i=0;i<_myExA.size();i++){
myInAndOutBean[] myB=(myInAndOutBean[])(_myExA.get(i));
for(int j=0;j<myB.length;j++){
OutRExcel[i][j]=myB[j].getBean();
}
}
//显示打印
for(int i=0;i<myR;i++){
for(int j=0;j<myCol;j++){
System.out.print(OutRExcel[i][j]+" ");
}
System.out.println();
}
return OutRExcel;
}
//public static void main(String[] args){
// ReadExcel _myE=new ReadExcel();
// _myE.readExcel();
//
//}
}日志文件:log4j.propertieslog4j.rootLogger=INFO,A1,A2log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%nlog4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=D:/project/myserver/WebRoot/lgm.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} [%t] %-5p %c - %m%n
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货