我有一个简单的html表格,例如只有一个单元格,但是当我复制dom节点并将其粘贴到excel中时,它将被识别为两行,如何使Excel获取正确的粘贴数据。
<table><tr><td>1<br>2</td><tr></table>
我尝试添加CSS样式
br {mso-data-placement:same-cell;},
但它仅适用于 IE。
注意,复制纯文本是不行的,我需要在单元格上添加颜色、字体信息。
最佳答案
正如你们中的许多人可能知道的那样,您可以将数据(例如报告)输出为 Excel 文件,只需添加正确的内容类型和内容处置 header 即可:
Response.ContentType = “application/vnd.ms-excel“;
Response.AppendHeader(“content-disposition“, “inline; filename=report.xls“);
如果客户端安装了 MS Excel,您的输出 HTML 页面将在其中打开,而不是 Web 浏览器。 Excel 将解释所有格式(边框、字体等)和 TABLE 标记,这可以生成漂亮的格式化工作表,而无需使用重量级服务器端控件。
我困扰了一段时间的问题是多行单元格。我需要将文本换行在单元格中,但是当我输入 <br>
时标记到 HTML 输出中,Excel 将其解释为新行,而不是现有单元格中的换行符。
添加到样式表中:
br {mso-data-placement:same-cell;}
然后它就像一个魅力。我希望它有用:)
提示:您可以将 ContentType 和 header 设置为有条件的,从而通过一个文件提供备用 HTML/XLS 报告。
关于html - 将 HTML 表格粘贴到 Excel 中,如何在单元格中保留换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774684/