import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ReportExportExcel implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
protected final Log logger = LogFactory.getLog(getClass());
public void createSheet(HSSFWorkbook wb,long rptno, String filename,
HttpServletResponse response) {
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new File(filename));
String excelname = "report_" + rptno + ".xls";
String sheetname = "report_" + rptno;
HSSFSheet sheet = wb.createSheet(sheetname);
Element root = doc.getRootElement();
List list = root.getChildren();
HSSFCellStyle headingCellStyle = wb.createCellStyle();
headingCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont headingCellFont = wb.createFont();
headingCellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
headingCellStyle.setFont(headingCellFont);
HSSFRow row;
row = sheet.createRow((short) 0);
if (list != null && list.size() > 0) {
Element element = (Element) list.get(0);
int length = element.getChildren().size();
for (int i = 0; i < length; i++) {
String columnName = ((Element) element.getChildren().get(i))
.getName();
if (columnName == null)
columnName = "";
else if (columnName.length() >= 1)
columnName = columnName.substring(0, 1).toUpperCase()
+ columnName.substring(1);
HSSFCell cell = row.createCell((short) (i));
cell.setCellValue(columnName);
cell.setCellStyle(headingCellStyle);
}
}
short rowIndex = 0;
for (int i = 0; i<list.size(); i++) {
Element section = (Element) list.get(i);
List sect = section.getChildren();
row = sheet.createRow((short) ++rowIndex);
for (int colIndex = 0; colIndex < sect.size(); colIndex++) {
HSSFCell cell = row.createCell((short) colIndex);
cell.setCellValue(((Element) sect.get(colIndex)).getText());
}
}
writeExcelFile(wb, response, excelname);
} catch (Exception e) {
logger.error(e);
}
}
public void writeExcelFile(HSSFWorkbook wb,
HttpServletResponse response, String fileName) throws IOException {
response.reset();
ServletOutputStream sos = response.getOutputStream();
response.setContentType("application/ms-excel");
response.setHeader("Content-disposition", "attachment; filename="
+ fileName);
wb.write(sos);
sos.flush();
sos.close();
}
}
分享到:
相关推荐
由于生成excel,所以没必要让用户选择xml文件,默认对指定文件夹下的所有的XML文件进行转换,并把转换得到的Excel放在指定文件夹。 运行时可以双击.py文件(看不到具体log); 或者按住shift同时鼠标右键,选择在此处...
功能介绍:TestLink用例默认只支持导出为XML,此工具支持把XML转换为Excel文件,可转一层目录的测试用例,也可转两层目录的测试用例集。 此工具为TkInter实现的可视化转换工具,可显示转换的每个用例名,统计每次...
基于DOM4j和POI实现的XML文件转换为XLS(即标准EXCEL)的JAVA程序
4. 从testlink中导出测试套件或测试用例(xml文件),使用上述工具将xml文件转换成格式合适的excel文件; 5. 按照指定格式在excel中编写测试用例(格式与第4点中转换得到的excel格式一致即可),使用上述工具将excel...
android 国际化 String.xml Excel 相互转换工具
读取路径导出至本地,其中包含excel数据转换
使用excel表格统一管理字符串,实现String.xml 和Excel 相互转换
将XML数据转换为DataTable并将DataTable导出为Excel文件
NULL 博文链接:https://huigou.iteye.com/blog/1154745
解压开,双击bat,会弹出一个GUI的弹出框,选择要转的要操作的testcase文件,进行excel和xml互转操作。简单易操作。神器。
java读取Excel表中的内容,可以读取多个sheet,生成自定义格式的xml文件
testlink 导出的xml格式测试用例 转换为Excel
无水印,各种格式转换,word、excel、ppt、txt等都不是问题,内含lisence.xml配置,转换效果佳,速度快,另外还有博文还有代码,代码包含图片转换,可直接用
将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...
通过web端转换excel为xml文件,可一次性批量转换多个xml 通过web端转换excel为xml文件,可一次性转换多个xml 通过web端转换excel为xml文件,可一次性转换多个xml
opendialogfile选取xml文件,把xml读取转换为datagridview,然后把datagridview导出excel文件。附带有xml文件。
将Excel转化xml,参考了网上的一些代码,不适合复杂
C# .NET Excel转Xml文件流形式导出Excel,批量表格导出打印
Total Excel Converter是一款功能强大的Excel万能转换器工具,使用这款软件可以将Excel文件转换为任意的一种其他文件类型,支持转换为DOC,DOCX,PDF,HTML,Access,TXT,ODT,ODS,XML,SQL,CSV,Lotus,DBF,TEX...