【问题标题】:How to keep format within HTML converted to Excel如何保持 HTML 中的格式转换为 Excel
【发布时间】:2011-03-01 08:15:40
【问题描述】:

我正在处理一个 HTML 表格,其中包含数字(格式化),当我将其导出到 xls 文件时(只需更改扩展名......呵呵)我丢失了一些格式化数据。

例子:

在 html 中我有“ 1,000.00 | 500.00 | 20.00 ” 在excel中它显示如下: "1,000.00 | 500 | 20"

我想让它知道是否可以显示与 html 中完全相同的格式。

谢谢你:P

【问题讨论】:

  • 我怀疑如果不生成可以包含正确数字格式规则的实际本地 Excel 文件,这是可能的。我可能是错的,但我很确定。
  • 那么 Excel 只是根据内容进行猜测,因为您只是更改了打开文件的默认程序,而不是其他任何内容。我敢肯定,如果你使用原生 Excel 文件并用浏览器打开它,你也会得到一些有趣的结果。
  • @Jan 方法没问题 - Excel 可以处理和导入 HTML 表格。问题是是否有一些专有属性可以使 Excel 以某种方式格式化表格的列。可能存在这样的属性,但我不认为是这种情况。
  • 谢谢大家,打开一个 HTMLExcel 文件,我看到了一些“mco-number-format”css 属性,但它不适用于我的 HTML 文件 excel XD
  • @pojomx 听起来很有趣!可能值得进一步研究,该属性肯定不是没有的。

标签: html excel formatting


【解决方案1】:

您可以通过使用 class.例如:

先添加类

writer.WriteLine("<style> .number{mso-number-format:\"\\#\\#0\\.00\";} </style>");

然后,在您的迭代中:

writer.Write("<td class=\"number\" >");
writer.Write(data);
writer.WriteLine("</td>");

如图: Export to Excel in ASP.NET, issue with decimal formatting for numbers greater than 1000

【讨论】:

    【解决方案2】:

    您可以打开 Excel 并将其作为数据导入,它会询问您的分隔符以及每列的数据类型。您也可以手动选择列并添加格式。

    【讨论】:

    • 谢谢,我的兴趣是直接从 html 文件中“导出”... :P
    【解决方案3】:

    我已经做到了。最好的判断方法是创建一个 .xls 文件(不是 .xlsx),然后将其保存为 html 文件。

    然后查看html文件的来源。您会在顶部看到一些 css 类,然后如果您查看下面的数据,您会看到它们被应用于工作表。

    所以只是一点逆向工程...

    仅供参考 - 如果您尝试在 2007 年或之后打开它,您会收到初步警告,但随后一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2023-03-18
      • 2018-04-15
      相关资源
      最近更新 更多