Java语言读取excel,csv文件问题,急!
需要用JAVA语言读取EXCEL文件,但是在EXCEL文件中第一行是各列的名称,JAVA读取时需要跳过,直接读取下面的内容即可。怎么用变量来储存每行中不同列的数据?还有在...
需要用JAVA语言读取EXCEL文件,但是在EXCEL文件中第一行是各列的名称,JAVA读取时需要跳过,直接读取下面的内容即可。
怎么用变量来储存每行中不同列的数据?
还有在读取EXCEL时有一列数据是时间,JAVA语言怎么对比时间是白天还是晚上?(在EXCEL文件中时间是:小时:分:秒)。
JAVA读取EXCEL和CSV文件是一样的吗?
最后需要import哪些class 和 利用哪些 function ?
望能给出竟可能详细的源代码,谢谢大家,如果能用,一定加分:)
ps:不需要用applet或者swing!需要的只是读取数据,计算,并且直接显示结果即可。 展开
怎么用变量来储存每行中不同列的数据?
还有在读取EXCEL时有一列数据是时间,JAVA语言怎么对比时间是白天还是晚上?(在EXCEL文件中时间是:小时:分:秒)。
JAVA读取EXCEL和CSV文件是一样的吗?
最后需要import哪些class 和 利用哪些 function ?
望能给出竟可能详细的源代码,谢谢大家,如果能用,一定加分:)
ps:不需要用applet或者swing!需要的只是读取数据,计算,并且直接显示结果即可。 展开
4个回答
展开全部
public static String readExcel(){
StringBuffer sb = new StringBuffer();
File file = new File("D:\\test.xls");
Workbook wb = null;
try {
// 构造Workbook(工作薄)对象
wb = Workbook.getWorkbook(file);
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
System.out.println("sheet.length="+sheet.length);
for(int i=0;i<sheet.length;i++){
int rowNum = sheet[i].getRows();
System.out.println("rowNum="+rowNum);
for(int j=0;j<rowNum;j++){
// 得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
System.out.println("cells.length="+cells.length);
if(cells!=null&&cells.length>0){
// 对每个单元格进行循环
for(int k=0;k<cells.length;k++){
//读取当前单元格的值
String cellValue = cells[k].getContents();
sb.append(cellValue+"\t");
}
}
sb.append("\r\n");
}
sb.append("\r\n");
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(sb.toString());
// 最后关闭资源,释放内存
wb.close();
return sb.toString();
}
StringBuffer sb = new StringBuffer();
File file = new File("D:\\test.xls");
Workbook wb = null;
try {
// 构造Workbook(工作薄)对象
wb = Workbook.getWorkbook(file);
//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
System.out.println("sheet.length="+sheet.length);
for(int i=0;i<sheet.length;i++){
int rowNum = sheet[i].getRows();
System.out.println("rowNum="+rowNum);
for(int j=0;j<rowNum;j++){
// 得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
System.out.println("cells.length="+cells.length);
if(cells!=null&&cells.length>0){
// 对每个单元格进行循环
for(int k=0;k<cells.length;k++){
//读取当前单元格的值
String cellValue = cells[k].getContents();
sb.append(cellValue+"\t");
}
}
sb.append("\r\n");
}
sb.append("\r\n");
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(sb.toString());
// 最后关闭资源,释放内存
wb.close();
return sb.toString();
}
展开全部
只用jxl或poi读过ecxel文件,但是csv文件没有试过,应该都能解决的。给你一个网上的别人解决的讨论。
topic.csdn.net/u/20091211/14/3888301e-4ee5-4d89-b73d-02f0fce82780.html
前面加上:http
topic.csdn.net/u/20091211/14/3888301e-4ee5-4d89-b73d-02f0fce82780.html
前面加上:http
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是光明吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不懂正在学习中
“中文java技术网”
“中文java技术网”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询