【问题标题】:Using excel import wizard through code?通过代码使用excel导入向导?
【发布时间】:2011-02-28 13:05:17
【问题描述】:

我正在为我的应用程序中的一些数据创建一个“生成报告”按钮。

报告只会生成一个 CSV 文件,然后我会在 excel 中自动启动该文件。

问题在于数据字段之一,是文本并且有前导零(我需要保留)。当文件在 excel 中自动打开时,excel 会自动修剪这些。无论如何我可以得到它,以便它以我想要的格式打开数据。

我知道您通常可以通过在 excel 中打开 CSV 文件来实现此目的,并且可以执行导入向导。因此,一种可能的解决方案是在应用程序启动此文件时自动打开导入向导。我不知道这是否可能。

感谢阅读。

【问题讨论】:

  • 不确定您的具体要求,但this question 中讨论的“="0123"”选项可能会对您有所帮助...
  • CSV 很烂。这是一种模糊的格式,无法在具有不同语言环境的机器上正常工作。 (分隔符可以改变,小数点可以改变,千位分隔符可以改变......)

标签: c# visual-studio excel csv


【解决方案1】:

您可能想看看生成 HTML。使用特定的 CSS 信息和其他属性,您可能能够对 Excel 不会对其进行破坏的数据的足够信息进行编码。

基本思想是用特定的 css 类标记您的表格数据,并让 css 类定义,例如,数字格式:

<html>
 <head>
  <style>
   .myStyle { mso-number-format:"\@" }
  </style>
 </head>
 <body>
  <table>
   <tr>
    <td class="myStyle">000345</td>
   </tr>
  </table>
 </body>
</html>

将这样的文件保存为 .xls,它会在 Excel 中打开。 Excel 会在 xls 文件中报错 html,但仍将其打开。

您可以在 MSDN 上找到相关文档的下载:

Microsoft Office HTML and XML Reference

【讨论】:

  • 这是个好主意...我希望我能早点想到它。我最终用引号解决了这个问题,但下次一定会记住这一点
【解决方案2】:

你试过引用吗?即"firstfield","second field","00032","etc"

【讨论】:

    猜你喜欢
    • 2021-03-10
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多