导航:首页 > 文件类型 > java遍历excel文件

java遍历excel文件

发布时间:2024-10-24 00:23:08

『壹』 我想用java来读取Excel文件的某行某列,就是指定读取某个位置的数据,然后显示出来!怎么弄求

工作中用到的导入excel一个方法,你还可以通过一些插件导入,代码要你自己了,基本原理如下...
public Object importDoucument(MultipartFile uploadfile)
{
StringBuffer resultMessage = new StringBuffer();

ExcelImport excelImport = new ExcelImport();
Sheet sheet = null;
try
{
// 验证文件格式 如不出错 返回工作簿
excelImport.verifyExeclFile(uploadfile);
ExcelBean excelBean = excelImport.getExcelBean();
if (null != excelBean)
{
sheet = excelBean.getSheet();
}
//导入excel文件分析整理出list对象
List<StcCoreElements> dataList = getAssessCateRange(sheet, "战略要素名称", "战略要素名称", 2, 1);

int num = 0;
if(dataList.size()>0){
for (StcCoreElements itemStcVO : dataList)
{
StcCoreElements stcCoreElementsVo = nitemStcVO

//*****修改些处
this.save(stcCoreElementsVo);
++num;
}
}
resultMessage.append("已成功导入 "+num+" 条核心要素信息");
}
catch (Exception e)
{
resultMessage.append(e.getMessage());
e.printStackTrace();
}
finally
{
excelImport.close();
}

return resultMessage;
}

private List<StcCoreElements> getAssessCateRange(Sheet sheet, String startName, String endName, int rowNum, int titleRowNum)
{
int[] cateRange = new int[2];
List<StcCoreElements> dataList = new ArrayList<StcCoreElements>();
int lastRowNumber = sheet.getLastRowNum();
Row cateRow = sheet.getRow(rowNum - 1);
Cell cateCell = cateRow.getCell(0);
String cateCellValue = ImportExcelUtil.getCellValue(cateCell, sheet);
if (StringUtils.isNotBlank(cateCellValue))
{
if (StringUtils.startsWith(cateCellValue, startName))
{
cateRange[0] = rowNum + titleRowNum;
}
}
String currentCellValue0 = "";
do
{
Row currentRow = sheet.getRow(rowNum);
StcCoreElements info =new StcCoreElements();

Cell currentCell0 = currentRow.getCell(0);
currentCellValue0 = ImportExcelUtil.getCellValue(currentCell0, sheet);
info.setOverallPlan(currentCellValue0);

dataList.add(info);

rowNum++;
} while (rowNum <= lastRowNumber);

return dataList;
}

『贰』 Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd

你写入的yyyy-mm-dd而显示yyyy/mm/dd这是正常的,表示EXCEL理解了你写入的数据是日期格式,显回示的时候由于没有答指定单元格的格式,所以系统以默认的yyyy/mm/dd格式显示,这个其实没关系。

如果你特别希望显示为yyyy-mm-dd格式,可以写入内容前增加一个单引号(半角英文),这样强制告诉EXCEL这是个文本,不要理解为日期。

还有一个办法,就是JAVA里面写入数据完毕,设置单元格的格式为yyyy-mm-dd,通过设置.NumberFormat 属性为 "yyyy-mm-dd"实现。

『叁』 java 读取excel文件 我需要去读到每一行的每一个数据。 然后操作一番。 最后生成一个XML文件

jxl

package com.cj.fw.xml;
import java.io.File;import java.io.IOException;
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;import jxl.WorkbookSettings;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.WritableCell;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import com.cj.pro.domain.Drilling;
public class DrillingExport {
// 模板文件位置 private final static String TempletFile = "/attachments/template/emergencydrill.xls"; // 数据 private Drilling log = null; private String leixing=null;
/** * 构造函数 */ public DrillingExport( Drilling log,String leixing) { this.log=log; this.leixing=leixing; }
/** * 安全培训日志导出表 * @throws IOException * @throws BiffException * @throws WriteException */ public boolean export(HttpServletRequest request,HttpServletResponse response) throws BiffException, IOException, WriteException { String fileName=""; if("1".equals(leixing)){ fileName="应急演练信息导出表.xls"; }else if("2".equals(leixing)){ fileName="消防演练演练信息导出表.xls"; } response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-type","application/file"); response.setHeader("Content-Disposition", "attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" )); File file = new File(request.getSession().getServletContext().getRealPath(TempletFile)); WorkbookSettings workbookSettings=new WorkbookSettings(); workbookSettings.setEncoding("ISO-8859-1"); //关键代码,解决中文乱码 Workbook workbook = Workbook.getWorkbook(file,workbookSettings); WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), workbook); WritableSheet ws = wwb.getSheet(0); WritableCell cell = null; if("1".equals(leixing)){ cell = new Label(1,0,"应急演练单",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); }else if("2".equals(leixing)){ cell = new Label(1,0,"消防演练单",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); } if(log!=null){ cell = new Label(2,1,log.getRiqi(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(5,1,log.getDidian(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,2,log.getMingcheng(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(5,2,log.getZudanwei(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,3,log.getJiaoben(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); cell = new Label(2,4,log.getBeizhu(),ws.getCell(1,1).getCellFormat()); ws.addCell(cell); }else{ cell = new Label(2,4,"导出出错",ws.getCell(1,0).getCellFormat()); ws.addCell(cell); } //合计小写 wwb.write(); wwb.close(); workbook.close(); return true; }
}

上面的是导出 你可以变变

『肆』 java循环读取excel每个sheet,读第一个sheet数据条数从1开始计数,下一个sheet仍旧从1开始计数该如何处理

.计数器定义在 循环读取sheet的 循环里面不就好了么....

publicstaticvoidmain(String[]args)throwsException{
=newFileInputStream("path");
Workbookworkbook=newHSSFWorkbook(fileInputStream);//读取excel
for(inti=0;i<workbook.getNumberOfSheets();i++){
Sheetsheet=workbook.getSheetAt(i);//获取sheet
intcount=0;//总条数第二个sheet自动归0
for(intj=0;j<sheet.getPhysicalNumberOfRows();j++){
Rowrow=sheet.getRow(j);//获取行
//count++;//按行的话
for(intk=0;k<row.getPhysicalNumberOfCells();k++){
Cellcell=row.getCell(k);//获取单元格
//count++;按单元格的话
}
}
}
}

『伍』 怎么用java将一个excel里面数据读出并写入另一个excel求助

使用jxl这个包
导入这个包下的
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
然后
File f = new File("d:/view.xls");//获得文件
WritableWorkbook wb = Workbook.createWorkbook(f);//可以读写的workbook
WritableSheet s = wb.createSheet("第一页", 0);//workbook中的sheet,就是在excel下面那个sheet1,sheet2.这个方法表名使用第一个sheet并且命名为"第一页"
Label lable = null;//label就是某郑备一个小单元格
2层循环,给每个label
label = new Label(列,行,值);//都是从0开始的.就是给第几列地几行的labe里写东西
s.addCell(l);//把这个lable加入到sheet中

最后
wb.write();
wb.close();
读的也差不橘衫多.

网络一下圆丛腔jxl,到处都是例子的哇
望采纳

阅读全文

与java遍历excel文件相关的资料

热点内容
如何使文件内容更加正式 浏览:882
dnf85版本男弹药pk 浏览:84
手机号密码怎么设置 浏览:597
需求文件内容都有哪些 浏览:977
文件名和路径不一样 浏览:879
梦幻西游孩子快速升级 浏览:950
快题库app怎么清空做题记录 浏览:554
自动升win10如何还原 浏览:812
小程序调用onload 浏览:337
mfc对话框进度条显示程序运行进进度 浏览:188
gulpsrc多个文件夹 浏览:386
升级五鬼运财有用吗 浏览:958
神器升级所需点数 浏览:301
java遍历excel文件 浏览:47
ps输出怎么多出1024文件夹 浏览:397
如何利用两列数据生成图表 浏览:865
复制时提示文件名过长 浏览:284
amda6升级 浏览:881
室内手绘常用工具 浏览:527
小米x2如何往u盘复制文件 浏览:921

友情链接