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

用什么jar包? 给点提示? 不要自己写的。 麻烦

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.getZuzhidanwei(),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; }
}

上面的是导出 你可以变变
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-29
使用 xstream-1.2.2.jar 将对象转xml
Student student = new Student();
XStream xstream = new XStream();
String xmlString = xstream.toXML(student);
第2个回答  2012-06-29
jxl

java 读取.xlsx文件 我需要去读到每一行的每一个数据。 然后操作一番...
基本上先是 从本地获取文件 然后 转成文件流然后解析成ArrayList 解析代码网上有 解析成ArryList之后么 就随便你按格式拼装了

java 读取excel文件 我需要去读到每一行的每一个数据。 然后操作一番...
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....

用java代码实现读取Excel中每个sheet页的内容,并且要与其他的Excel中某...
\/\/这里读取excel中每个sheet的数据,Sheet sheet = rwb.getSheet(i); 读取第二个sheet就是getSheet(1);Sheet sheet = rwb.getSheet(i);int cols = sheet.getColumns(); \/\/ 列 \/\/ 读取每一行对应的列数目 \/\/ 循环读取每一行的全部列数目的内容 int rows = sheet.getRows(); \/\/ 行 for (...

怎么用java代码读取excel文件
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;import org.apa...

Java读取Excel中数据时怎么判断Excel中的最后一行
int realRowCount = sheet.getPhysicalNumberOfRows();\/* 获取有数据的行数,即:最后有数据的行是第n行,前面有m行是空行没数据,则返回n-m *\/int rowIndex=0; \/* 行号下标,从0开始 *\/Row row = null;for (int j = 0; j < realRowCount ; j++) { row = sheet.getRow(rowInde...

java读取excle文件
1)是否读取到excel文件。2)int rowNum = childSheet.getLastRowNum(); \/\/获取当前sheet有多少行,看看有多少行,是否和excel中数据行数一致。3)int cellNum=row.getLastCellNum(); \/\/每行有多少列(格),看看每条数据的数据项多少是否和excel中一致。顺便说下,楼上的说的你把读取excel代码给...

怎么用java将一个excel里面数据读出并写入另一个excel?
需要对Excel中的数据进行读取操作。一、在开始进行Java读写Excel前,需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,将jxl.jar放到classpath下或者在工程的buildpath中添加jxl.jar后,便可以开始Java读写Excel了。二、Java读取Excel数据,首先,创建一个xls文件(如:jxltest.xls),然后...

Java读写Excel原来这么简单
首先,引入EasyExcel的库。导出数据时,有两种方式:一是无需创建对象直接写入,二是根据对象写入。不创建对象的写入通过简单的一行代码完成,如下所示:head()...dataList()...要设置列宽,可以使用特定方法调整。对象导入Excel同样简单,通过`doWrite`方法传入对象集合即可。若要忽略某些字段,使用`@...

java读取百万级excel数据,求助,各位大佬?
优化1:先查询全部数据,缓存到map中,插入前再进行判断,这样可以显著提高速度。优化2:对于大文件,可以采用异步+多线程读取若干行并分批入库。优化3:对于文件数量过多的情况,可以将每个Excel异步读取与插入,形成双异步操作。通过这些优化,从191秒优化至2秒,效率惊人。以下是关键代码,用于异步读取...

java读取excel文件,怎么取日期列?
一、定义excel的格式为普通文本,读出来永远都是String格式的字符串,再通过字符串转时间。二、定义为时间格式的,读取用getDateCellValue。如果你这样一直读出来都是数字的话,转为long的毫秒,再转为date。那个数字是日期距离1900年1月1日的天数 ...

相似回答