java后端操作excel 将数据存储在List<List<String>>
public JSONArray getData(String path) {
List<List<String>>dlist=new ArrayList<List<String>>();
try {
InputStream is=new FileInputStream(path);
if(path.endsWith("xlsx")){
XSSFWorkbook hssf=new XSSFWorkbook(is);
for(int numberSheet=0;numberSheet<hssf.getNumberOfSheets();numberSheet++){
XSSFSheet hs=hssf.getSheetAt(numberSheet);
if(hs==null||hs.getRow(0)==null){
continue;
}
int coloumNums=hs.getRow(0).getPhysicalNumberOfCells();//总列数
int rowNums=hs.getLastRowNum()+1;//总行数
XSSFCell cell;
for(int row=1;row<rowNums;row++){//row从何处开始,得看具体表格设计样式
XSSFRow hr= hs.getRow(row);
if(hr==null){
continue;
}
List<String>list=new ArrayList<String>();
for(int col=0;col<coloumNums;col++){
cell=hr.getCell(col);
list.add(cell.toString());
}
dlist.add(list);
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
JSONArray jsonObject = JSONArray.fromObject(dlist);
return jsonObject;
}
js前端操作excel 将数据存储在二维数组
var filePath=$("#import").val();//获取上传文件地址
var sheet_id=1; //表示第一页
var row_start=3; //表示第三行
var tempStr='';
try{
var oXL = new ActiveXObject("Excel.application"); //创建Excel.Application对象
}catch(err)
{
alert(err);
}
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(sheet_id).select();
var oSheet = oWB.ActiveSheet;
var rowcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Rows.Count;//总行数
var colcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Columns.Count;//总列数
//alert(rowcount+" "+colcount);
var aarray=new Array();
for(var i=0;i<rowcount-2;i++){
aarray[i]=new Array();
}
for(var i=row_start;i<=rowcount;i++){
for(var j=1;j<=colcount;j++){//j=1表示第一列,而不是j=0
if(oSheet.Cells(i,j).value==null){
oSheet.Cells(i,j).value='';
}
aarray[i-3][j-1]=oSheet.Cells(i,j).value;
}
}