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解析XML文件,并利用Apache POI将其转换为标准的XLS(Excel)文件。 首先,DOM4j是Java中一个灵活且功能强大的XML处理库,它提供了完整的API来读取、操作和写入XML文档。通过DOM4j,...
本篇文章将详细讲解如何将XML文件导出为本地的Excel文件,这一过程涉及到数据解析、格式转换以及文件操作等多个关键知识点。 首先,我们需要了解XML的基本结构。XML文件由元素(Elements)、属性(Attributes)、...
要比较两个文件,可以将XML和Excel文件都转换为DataFrame,然后进行比较。比如,比较两个Excel文件: ```python df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') differences = df1....
对于Eclipse用户,可以搜索相关的插件集成到开发环境中,或者单独使用命令行工具配合版本控制系统(如Git)来管理和同步`String.xml`与Excel文件。 总的来说,`android String.xml Excel 相互转换工具`是Android...
在IT行业中,Excel和XML是两种...以上就是关于Excel文件转换为XML文件的相关知识点,包括转换的原理、方法、注意事项以及一个具体的发票采集案例。掌握这些知识,可以帮助你更好地管理和整合数据资源,提高工作效率。
通过这种方式,我们可以将Excel文件转换为XML文件。这个过程在标签中被标记为"工具",暗示它可能是一个实用的脚本或程序,用于自动化数据转换。文件`CreateXml.rb`很可能就是实现这个功能的Ruby脚本。 在实际应用中...
在Android平台上,有时候我们需要处理...通过以上步骤,我们可以实现Android应用从Excel文件读取数据并转换为XML文件,从而灵活地在应用中使用这些数据。这个过程对于数据迁移、数据交换或数据处理等任务非常有用。
最后,使用`Save()`方法将工作簿保存为Excel文件。 ```csharp workbook.Save("output.xlsx"); ``` 以上就是利用C#和Aspose将XML文件数据写入Excel的基本流程。这个过程中,你可以根据实际需求进行数据清洗、格式化...
4. 从testlink中导出测试套件或测试用例(xml文件),使用上述工具将xml文件转换成格式合适的excel文件; 5. 按照指定格式在excel中编写测试用例(格式与第4点中转换得到的excel格式一致即可),使用上述工具将excel...
转换这个XML文件时,XSLT样式表会根据Excel的格式将这些元素转换为相应的Excel格式。例如,`<Workbook>`对应Excel的工作簿,`<Worksheet>`对应工作表,`<Table>`代表表格,`<Row>`表示行,而`<Cell>`则是单元格。 ...
标题中的“将XML文件转换为Excel文件”是指利用编程技术,特别是C#语言,将XML数据格式转换成Microsoft Excel可读取的格式,以便在Excel环境中进行数据分析和处理。这个过程通常涉及到数据的读取、解析、转换以及...
它允许开发者将现有的`String.xml`文件导出为Excel表格,然后在Excel中编辑完成后,再将更新的内容导入回`String.xml`。这样,非编程团队成员(如翻译人员)也可以参与到字符串资源的管理中,无需接触代码。 在提供...
4. **保存为XML文件**:完成映射后,选择“文件”>“另存为”,在“保存类型”下拉菜单中选择“XML数据”或“XML映射保存”。这将根据映射信息生成一个XML文件,其中包含工作表中的数据。 5. **处理XML文件**:生成...
1. **解析XML文档**:首先,转换工具需要读取XML文件,解析其内容并理解文档结构。XML文档由元素、属性和文本节点组成,解析器需要能够识别这些部分。 2. **映射结构**:XML的结构可能与Excel的行和列布局不同。...
Aspose 是一个强大的文件处理工具集,主要用于在Java、.NET、Android等平台进行文档转换、创建、编辑和渲染。这个压缩包包含了Aspose库的特定版本,用于处理Excel、Word和PowerPoint文件,以及一个名为`lisence.xml`...
本篇文章将详细讲解如何在C#中将Excel数据转换为XML文件流,以便进行批量表格导出和打印操作。 首先,我们需要理解Excel与XML之间的转换原理。XML(Extensible Markup Language)是一种结构化数据格式,可以清晰地...
在这个场景中,我们将探讨如何使用Kettle将XML文档转换为数据表结构。 XML是一种通用的数据交换格式,广泛用于存储和传输结构化信息。然而,很多数据库和分析工具更倾向于以表格形式存储数据。Kettle提供了解决这个...
本主题将详细探讨如何使用Java的Apache POI库读取Excel文件,并利用JDOM库生成XML文件。 首先,Apache POI是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。在Java中,我们可以...