在javascript中将html内容导出到excel

在javascript中将html内容导出到excel,javascript,html,excel,Javascript,Html,Excel,我正在将Html内容导出到Excel并下载JavaScript格式的Excel。它可以很好地工作,但我的要求是下载没有网格线的Excel,而且我希望按照我的html在浏览器中显示的方式呈现内容。是否有任何选项或建议在Excel中呈现Html内容而不使用网格线 下面是我的Html示例: 名称:一些文本 号码:一些号码 单位 接触 国家 阿尔弗雷德·福特基斯特 玛丽亚·安德斯 德国 莫特祖马商业中心 张锦松 墨西哥 恩斯特·汉德尔 罗兰·孟德尔 奥地利 岛屿贸易 海伦·贝内特 英国 笑巴克斯酒窖

我正在将Html内容导出到Excel并下载JavaScript格式的Excel。它可以很好地工作,但我的要求是下载没有网格线的Excel,而且我希望按照我的html在浏览器中显示的方式呈现内容。是否有任何选项或建议在Excel中呈现Html内容而不使用网格线

下面是我的Html示例:


名称:一些文本
号码:一些号码
单位
接触
国家
阿尔弗雷德·福特基斯特
玛丽亚·安德斯
德国
莫特祖马商业中心
张锦松
墨西哥
恩斯特·汉德尔
罗兰·孟德尔
奥地利
岛屿贸易
海伦·贝内特
英国
笑巴克斯酒窖
田纳西
加拿大
马加兹尼营养不良
乔瓦尼·罗维利
意大利

我认为您可以使用ApachePOI库更新excel文件。有关更多详细信息,请参阅

关于使线条消失,请参阅

有关更多详细信息,请访问

,您只需添加以下内容:

<meta http-equiv="content-type" content="text/plain; charset=UTF-8"/>

在文件的开头,它将按预期开始工作:

<script type="text/javascript">
var tableToExcel = (function() {
  var uri = 'data:application/vnd.ms-excel;base64,'
    , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>'
    , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
    , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
  return function(table, name) {
    if (!table.nodeType) table = document.getElementById(table)
    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
    window.location.href = uri + base64(format(template, ctx))
  }
})()
</script>

var tableToExcel=(函数(){
var uri='data:application/vnd.ms excel;base64,'
,模板=“{table}”
,base64=函数{return window.btoa(unescape(encodeURIComponent))}
,format=函数(s,c){返回s.replace(/{(\w+)}/g,函数(m,p){返回c[p];})}
返回函数(表、名称){
如果(!table.nodeType)table=document.getElementById(table)
var ctx={工作表:名称| |'工作表',表:table.innerHTML}
window.location.href=uri+base64(格式(模板,ctx))
}
})()

嘿,谢谢你的回复,它比以前工作得更好,但是A11单元需要扩展到C11单元,因为C单元中的数据是最后一个。如果有任何数据占用了单元格D,那么单元格A需要一直应用到单元格D。基本上需要看起来像excel中的文档。是否有任何方法应用css内部或外部。嘿,谢谢你的回复,如何在我的Web应用程序中包含ApachePOI,有js文件吗?没有,没有js文件。这是一个基于java的库。这需要在服务器端或通过小程序(几乎死机)完成
<script type="text/javascript">
var tableToExcel = (function() {
  var uri = 'data:application/vnd.ms-excel;base64,'
    , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>'
    , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
    , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
  return function(table, name) {
    if (!table.nodeType) table = document.getElementById(table)
    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
    window.location.href = uri + base64(format(template, ctx))
  }
})()
</script>