将HTML表粘贴到Excel中,如何在单元格中保持行间隔

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我有一个简单的html表,例如,只有一个单元格,但是当我复制dom节点并将其粘贴到excel中时,它将被识别为两行,如何使Excel获得正确的粘贴数据。

 <table><tr><td>1<br>2</td><tr></table>

我尝试添加CSS样式

br {mso-data-placement:same-cell;},

但它只适用于IE。

注意,复制一个纯文本是不确定的,我需要添加颜色,字体信息上的单元格。

提问于
用户回答回答于

看起来Firefox完全忽略了MSO-数据放置指令;它不会出现在Firebug样式面板中。也许这就是为什么它不会像你期望的那样粘贴?

用户回答回答于

正如很多人可能知道的那样,可以将数据(例如报表)作为Excel文件输出,只需添加正确的内容类型和内容配置头:

Response.ContentType = “application/vnd.ms-excel“;

Response.AppendHeader(“content-disposition“, “inline; filename=report.xls“

如果客户端安装了MS Excel,输出HTML页面将在其中打开,而不是在Web浏览器中打开。Excel将解释所有格式化(边框、字体等)和表标记,这可以产生一个很好的格式化工作表,而无需使用重量级服务器端控件。

我挣扎了一段时间的问题是多线细胞。我需要将文本封装在单元格中,但是当我将<br>标记到HTML输出中,Excel将其解释为新行,而不是现有单元格中的换行。

添加到样式表中:

br {mso-data-placement:same-cell;}

那它就像个咒语。我希望它有用:)

提示:可以设置ContentType和Header条件,提供带有一个文件的替代HTML/XLS报告。

扫码关注云+社区