-
java如何将html转为excel文件?10
众所周知,excel可以识别html,我现在有一段html代码(字符串格式,其中只有一个表格),由于结构比较复杂,不希望通过POI或其他框架重新构建Excel文件,而是想直接将html转换为excel文件提供用户下载。
我现在使用的方式是,直接创建一个后缀为.xls的文件,将html的字符串写入这个文件中,下载这个文件。
但这种方式有一个缺点,就是打开文件时,excel会提示文件扩展名与文件格式不符合(忽略提示可以正常打开,正常显示)。
我想问一下,有没有方法,可以将包含html代码的文件(例如.txt文件)另存为excel文件,这样打开时就不会出现上面的提示。2013年1月05日 14:12
3个答案 按时间排序 按投票排序
-
首先excel另存为网页格式,会出现一个html文件,然后response.setContentType("application/vnd.ms-excel");
如果要对excel进行填充数据,可以使用一些模板引擎,比如freemarker和velocity2013年1月08日 13:52
-
设置你页面的response相应格式
response.setContentType("application/vnd.ms-excel;charset=utf-8");
String now = DateUtil.getNow().substring(0, 10);
String fileName = now;
fileName = new String(fileName.getBytes("GB2312"),"ISO8859-1");
response.setHeader("Content-disposition","attachment; filename=\"" + fileName + ".xls\"");2013年1月06日 15:04
-
<html>
<head>
<script language="javascript">
var oXL ;
var oWB ;
var oSheet;
var startrow=1,startcol=1;//Excel起始行列,可根据实际需要进行修改
var row=startrow,col=startcol;
function tableToExcel(){
oXL = new ActiveXObject("Excel.Application");
oWB = oXL.Workbooks.Add();
oSheet = oWB.Worksheets(1);
oSheet.Columns.ColumnWidth=15;
var table = document.all("tb2");
var i,j;//html表格行
var span=new Array();
var colum=0;//计算一共多少列
for( j=0;j<table.cells.length;j++){
if(table.rows(0).cells(j)!=null){
colum=colum+table.rows(0).cells(j).colSpan;
}
}
//#############start 设置没个合并前的单元格的宽度
for( i=0;i<table.rows.length;i++){
var rowspan=0;
var colspan=0;
col=startcol;
for( j=0;j<colum;j++){
if(table.rows(i).cells(j)!=null){
colspan= table.rows(i).cells(j).colSpan;
var tmp=[col,row];
for(var oo=0;oo<span.length;oo++){
if(col==span[oo][0]&&row==span[oo][1]){
col=col+1;
}
}
rowspan= table.rows(i).cells(j).rowSpan;
if(rowspan>1){
for(var x=col;x<(col+colspan);x++){
for(var y= row+1;y<(row+rowspan);y++){
var yx=[x,y];
span.push(yx);
}
}
}
oSheet.Columns(col).ColumnWidth=(table.rows(i).cells(j).offsetWidth-13)/8+1;//Excel的表格宽度单位为字符,一个字符时长度为13像素,每增加一个字符则增加8像素的长度。
col=col+colspan;
}
}
row++;
}
//##############end
row=startrow,col=startcol;
for( i=0;i<table.rows.length;i++){
var rowspan=0;
var colspan=0;
col=startcol;
for( j=0;j<colum;j++){
if(table.rows(i).cells(j)!=null){
colspan= table.rows(i).cells(j).colSpan;
var tmp=[col,row];
for(var oo=0;oo<span.length;oo++){
if(col==span[oo][0]&&row==span[oo][1]){
col=col+1;
}
}
rowspan= table.rows(i).cells(j).rowSpan;
if(rowspan>1){
for(var x=col;x<(col+colspan);x++){
for(var y= row+1;y<(row+rowspan);y++){
var yx=[x,y];
span.push(yx);
}
}
}
if(colspan>1||rowspan>1){
oSheet.Range(oSheet.Cells(row,col),oSheet.Cells(row+rowspan-1,col+colspan-1)).Merge();
}
oSheet.Cells(row,col).Value=table.rows(i).cells(j).innerText;
col=col+colspan;
}
}
row++;
}
//设置单元格格式
oSheet.Range(oSheet.Cells(startrow,startcol),oSheet.Cells(row-1,col-1)).Borders.Weight = 2;
oSheet.Range(oSheet.Cells(startrow,startcol),oSheet.Cells(row-1,col-1)).HorizontalAlignment=3;
oSheet.Range(oSheet.Cells(startrow,startcol),oSheet.Cells(row-1,col-1)).VerticalAlignment = 2;
oSheet.Range(oSheet.Cells(startrow,startcol),oSheet.Cells(row-1,col-1)).WrapText=true;
oXL.Visible = true;
oXL.UserControl = true;
}
</script>
</head>
<body>
<table id="tb2" border="1" width="100%" class="tb1" bordercolor="#000000">
<tr align="center">
<td rowspan="2" width="25%" class="td8">部门</td>
<td rowspan="2" width="15%" class="td8">上线项目数</td>
<td colspan="5">其中</td>
</tr>
<tr align="center">
<td width="12%" class="td8">拟稿</td>
<td width="12%" class="td8">发起审批</td>
<td width="12%" class="td8">完成审批</td>
<td width="12%" class="td8">实施</td>
<td width="12%" class="td8">办结</td>
</tr>
<tr align="center">
<td width="25%" class="td8">部门1</td>
<td width="15%" class="td8">203</td>
<td width="12%" class="td8">拟稿1</td>
<td width="12%" class="td8">发起审批1</td>
<td width="12%" class="td8">完成审批1</td>
<td width="12%" class="td8">实施1</td>
<td width="12%" class="td8">办结1</td>
</tr>
</table>
<input type="button" value="测试" onclick="tableToExcel()">
</body>
<html>2013年1月05日 17:15
相关推荐
在Java后台处理HTML数据并转换成Excel文件是一个常见的需求,特别是在数据分析、报表生成或导出功能中。这个技术涉及到HTML解析、数据提取以及Excel文件的生成。以下将详细讲解这个过程涉及的关键知识点。 1. HTML...
在Java开发中,将HTML转换为Excel是一种常见的需求,特别是在数据导出或报告生成的场景下。本主题主要探讨如何利用Java技术实现这一功能。HTML作为一种网页标记语言,可以方便地展示复杂的数据结构,而Excel则提供了...
对于Excel文件,我们可以使用Apache POI的`XSSFWorkbook`类。每个工作表可以被视为HTML表格,通过遍历单元格、行和列,将数据转换为HTML表格结构。 ### **3. 转换PowerPoint (pptx) 文件** Apache POI中的`...
首先,`docx4j`是一个开源Java库,它支持创建、修改和转换Microsoft Office Open XML (OOXML)文件,如Word的.docx和Excel的.xlsx格式。这个库基于Java API,使得开发者能够利用Java进行复杂的文档处理工作,无需直接...
把jacob.jar加载到工程里。 在C:\WINDOWS\system32;C:\Program Files\Java\jdk1.5.0_04\bin;C:\Program Files\Java\jdk1.5.0_04\jre\...OfficeToXML.java文件是实现代码。 我自己工程用到的代码,现共享出来给大家!
"Excel2html"项目就是专为此目的设计的,它提供了一个纯Java实现的解决方案,使得开发者能够方便地将Excel文件转换成HTML文件,保留原有的格式和样式。 首先,我们要理解Excel文件和HTML文件的本质区别。Excel是...
2. **Java POI将Word转为HTML** 在这个示例中,我们可能利用POI的HWPF库来读取Word文档,然后将其内容转换成HTML格式。这在需要在网络上显示Word内容或者希望在网页上保持文档格式时非常有用。转换过程涉及解析Word...
对于Excel文件(.xls或.xlsx)的转换,POI提供了HSSFWorkbook(针对Excel 2003及以下版本)和XSSFWorkbook(针对Excel 2007及以上版本)类。开发者可以创建一个工作簿对象,然后遍历每个工作表和单元格,将它们的...
Apache POI是Java社区开发的一个开源项目,专门用于读写Microsoft Office格式的文件,包括Word(.doc/.docx)、Excel(.xls/.xlsx)等。 首先,让我们深入了解Java中的POI库。POI提供了HSSF和XSSF两个API,分别用于...
在Java编程环境中,将文档对象转换为HTML是一种常见的需求,特别是在处理各种格式的文档时,如PDF、Word、Excel等。这种转换可以帮助我们在线展示文档内容或者将其集成到Web应用中。以下是一些关于如何使用Java实现...
2. **修改Excel文件属性**: - 使用`XSSFWorkbook`类加载`.xlsx`文件。 - 访问`XSSFWorkbook.getPackageProperties()`获取`PackageProperties`对象。 - 调用`setCreator("Your Author Name")`设置创建者属性。 3...
Excel文件(.xls或.xlsx)的处理同样依赖于Apache POI,但这次使用SXSSF(Streaming Usermodel API)或XSSF(XML Spreadsheet)API。Excel表格可以被解析为行和列,然后转换成HTML表格。 PDF文件的转换相对复杂,...
Apache POI是Java库,专门用于处理Microsoft Office格式的文件,如Word(.doc和.docx)、Excel(.xls和.xlsx)等。在这个小例子中,我们将探讨如何使用Apache POI将HTML转换为Word文档。 首先,我们需要了解Apache ...
本文将详细介绍如何在Android中使用POI库来解析Excel文件,并将其转换为HTML格式,以及如何处理相关的编译问题。 首先,POI是一个开源项目,由Apache软件基金会维护,它提供了API来创建、修改和读取Microsoft ...
Java Office转为HTML就是这样的一个需求,它涉及到Java编程语言以及与Microsoft Office格式(如.doc、.docx、.ppt、.pptx等)的交互,并最终将这些文件转换成HTML格式。这种转换可以方便网页展示、在线预览或者简化...
本教程将深入探讨如何使用Apache POI库来实现这些文件向HTML的转换,以实现跨平台和浏览器的兼容性。 Apache POI 提供了HSSF和XSSF两个API,分别用于读写旧版的BIFF8格式(.xls)和新的OOXML格式(.xlsx)。对于...
在这个“java技术结合poi jar包将word转为html 完整工程实战”项目中,我们将深入探讨如何使用Java和Apache POI将Word文档转换为HTML格式,同时支持doc、docx以及Excel文件。 首先,Apache POI是Java社区开发的一个...
例如,`pandas`库可以用来读取和处理Excel文件,`pdfkit`或`weasyprint`库可以将HTML转换为PDF。通常,我们需要指定Excel文件的路径,以及要转换的特定sheet的名称。以下是一个简单的Python示例: ```python import...
在Java中,可以使用Apache POI库来处理Microsoft Office的文件(如Word、Excel和PowerPoint),而Kingsoft WPS也有相应的API接口供开发者使用。Apache POI提供了对Office文件的低级别访问,允许读取和写入文件内容。...
Java POI库是一个强大的工具,专门用于处理Microsoft Office格式的文件,包括Word(.doc和.docx)文档。在这个特定的场景中,我们利用POI将Word文档转换为HTML格式,以便于在网页上展示或者进行其他Web相关的操作。...