读取excel:python VS java##
-------------------python-------------------------------------------
import os
import xlrd, sys, re
查找文件,精确到file
Filename = r"C:\Users\Administrator\Desktop\总集代码清单和详设评审清单数据差异.xls"
打开excel文件
bk = xlrd.open_workbook(Filename)
把所有的sheets表梳理出来
shxrange = range(bk.nsheets)
print(‘该表格中的sheet数为=’,len(shxrange))
这是打印所有的表名,不使用,bk.sheets()[x],x为index,默认从0开始
for x in shxrange:
p = bk.sheets()[x].name.encode(‘utf-8’)
print(“Sheet” ,x,’:’,p.decode(‘utf-8’))
同上,循环表名
for numb in shxrange:
#每个表里内容赋值给table(每个sheet)
table = bk.sheets()[numb]
#把每个sheet表里所有行赋值给nrows
nrows = table.nrows
print(‘table’,numb,‘行数=’,nrows)
#循环所有行
for i in range(nrows):
#把表里所有值赋值给text
text = str(table.row_values(i))
print(‘sheet’,numb,‘第’,i,‘行为:’,text)
---------------------------------------------------------java-------------------------------------------
package ExcelUtils;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class testExcel03 {
public static void main(String[] args) {
try {
//读取行列的值
readRowsAndColums(new File("C:\\Users\\Administrator\\Desktop\\总集代码清单和详设评审清单数据差异.xls"));
} catch (Exception e) {
e.printStackTrace();
}
}
//获取指定的行列值
private static void readRowsAndColums(File file) throws BiffException, IOException {
//1:创建workbook
Workbook workbook=Workbook.getWorkbook(file);
//2:获取工作表sheet
Sheet [] m =workbook.getSheets();
System.out.println("有"+m.length+"个sheet");
//行数
int x=0;
//列数
int y=0;
//行中列
int rc=0;
for (int i = 0; i < m.length; i++) {
x=m[i].getRows();
y=m[i].getColumns();
System.out.println("第"+(i+1)+"个sheet("+m[i].getName()+")有:"+y+"列,"+x+"行");
for (int j = 0; j < x; j++) {
Cell cel[]=m[i].getRow(j);
rc=cel.length;
System.out.println(" 其中第"+(j+1)+"行是:");
//拼接单元格
for (int k = 0; k < cel.length; k++) {
System.out.print(" "+cel[k].getContents()+" ");
}
System.out.println();
}
}
//最后一步:关闭资源
workbook.close();
}
}