作者:乔山办公网日期:
返回目录:excel表格制作
1、实现日期格式的方法代码百。
2、实现保留三位小数格式的方法代码。度
3、实现货币格式的方法代码。
4、实现百分比格问式的方法代码。
4、实现中文大写格式的方法代码。
注意事项:
Excel虽然提供了大量的用户界面特性,但它仍然保留了第答一款电子制表软件VisiCalc的特性:行、列组成单内元容格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。
太笼统了,只能给出一个POI读取Excel的大致方法。
对数据的校验,与具体的文件有关。
你定义的那一列是时间类型的,那一列是数字列的。
盲目的读取,无法判断数据的类型。
/**
*
* <p>标题:readExcel</p>
* <p>描述:读取Excel文件数据</p>
* @param excelfilePath Excel文件路径
* @param startRow 开始行
* @param startCol 开始列
* @return List<ArrayList<String>>
* @throws IOException
* @throws BiffException
*/
public List<Map<String, Object>> readExcel(String excelfilePath,int startRow, int startCol)
throws IOException, BiffException {
// 读取xls文件
InputStream ins = new FileInputStream(excelfilePath);
// 设置读文件编码
WorkbookSettings setEncode = new WorkbookSettings();
setEncode.setEncoding("UTF-8");
Workbook rwb = Workbook.getWorkbook(ins, setEncode);
List<Map<String, Object>> alldata = new ArrayList<Map<String, Object>>();
Map<String, Object> data = null;
alldata.clear();
// 获得当前Excel表共有几个sheet
Sheet[] sheets = rwb.getSheets();
// 获得表数
int pages = sheets.length;
// 将excel表中的数据读取出来
// 在从Excel中读取数据的时候不需要知道每个sheet有几行,有那多少列
for (int i = 0; i < pages; i++) {
//这里读取excel中每个sheet的数据,Sheet sheet = rwb.getSheet(i); 读取第二个sheet就是getSheet(1);
Sheet sheet = rwb.getSheet(i);
int cols = sheet.getColumns(); // 列
// 读取每一行对应的列数目
// 循环e5a48de588b6e799bee5baa6e997aee7ad94336读取每一行的全部列数目的内容
int rows = sheet.getRows(); // 行
for (int r = startRow; r < rows; r++) {
data = new HashMap<String, Object>();
// 行循环,Excel的行列是从(0,0)开始
for (int c = startCol; c < cols; c++) {
Cell excelRows = sheet.getCell(c, r);
data.put("bgbh", excelRows.getContents());
}
alldata.add(data);
}
}
ins.close();
return alldata;
}
<pre t="code" l="java">// 以下为我在项目中运用的jxl的核心代e68a84e8a2ade799bee5baa6e79fa5e98193365码
try {
Workbook book = null;
book = Workbook.getWorkbook(file);
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
int rows = sheet.getRows();
if(rows>1){
Map idnomap = this.getStudentByIdnos(sheet);
for (int j = 1; j < sheet.getRows(); j++) {// 得到的是行的单元格
TStudentinfo stu = this.getStudent(sheet,sheet.getRow(j),rows,j,appmap,classmap,idnomap,state);
if(stu==null){
continue;
}
stulist.add(stu);
}
}
book.close();
// DEMO: db 操作在下方
xxxService.add(stulist);
}
catch (Exception e) {
System.out.println(e);
}