代码之家  ›  专栏  ›  技术社区  ›  Jakob Gade

用.NET修改Excel电子表格

  •  2
  • Jakob Gade  · 技术社区  · 16 年前

    问题是:

    我必须使用.NET修改现有的Excel电子表格。电子表格非常复杂,我只需要在一些预定义的区域添加数据。

    目前我倾向于使用ADO.NET OleDb解决方案,但我发现很少有人提到(Google和Stackoverflow.com),所以我有点担心:OldDb for Excel有什么好处? 到目前为止,我在MSDN上发现的唯一缺点是,我无法使用公式创建单元格,但这在我的案例中并不是一个问题。

    还有OpenXml。与OldDb相比,它似乎过于复杂,而且我还不确定要支持哪个旧的Excel版本。

    我错过什么了吗?还有其他选择吗?

    8 回复  |  直到 16 年前
        1
  •  3
  •   cHao    16 年前

    退房 MyXls 用于读取和写入二进制XLS文件的.NET解决方案。

        2
  •  1
  •   tvanfosson    16 年前

    我用过 Aspose.Cells

        3
  •  1
  •   Booji Boy    16 年前

    使用任何驱动程序(ODBC、OLEDB等)将Excel用作ISAM数据库的问题在于,列的数据类型基于列中的前8行-这纯粹是邪恶的;例如:如果一个列类似于一个part#,并且前8个part恰好是数字,那么该列中part#不是数字的任何单元格都会得到NULL。(110000对111000-1或111000A)。这是excel中列格式的无规则设置(即使将列设置为文本)。

    这里有一个:

    http://support.microsoft.com/kb/194124

    http://msdn.microsoft.com/en-us/library/bb177610.aspx

        4
  •  1
  •   dbb    16 年前

        5
  •  0
  •   TcKs    16 年前

    你仍然没有什么解决办法。 1) excel文件的第三方组件。(我认为这是最痛苦和最可靠的解决方案) 2) 使用html表格。


    2) excel可以很好地处理html表格。

    <html><body>
    <table>
    <tr><td><b>Column A</b></td><td><b>Column B</b></td></tr>
    <tr><td><font color="red">-154</b></td><td><font size="5">hello world</font></td></tr>
    </table>
    </body></html>
    

    excel将在格式化时显示为工作表。 我认为,这是最普遍的方式,如何在互联网环境下创建“丰富”的excel工作表,而不必在服务器上安装excel。

        6
  •  0
  •   gimel    16 年前

    看看 Excel Web Access ,它是MOSS中Excel Services的一部分,MOSS是Excel的服务器端版本,允许您通过Web浏览器计算和显示Excel信息。这个 MOSS overview page 描述可在服务器上提供Excel功能的sharepoint框架。你可以使用 VSTO API 以编程方式访问电子表格。

        7
  •  0
  •   Kyle West    16 年前

    不确定这是否正是您需要的,但肯定可以是: 4 Editing In Excel Tutorials

        8
  •  0
  •   Community Nick Dandoulakis    7 年前

    http://www.gemboxsoftware.com/GBSpreadsheetFree.htm .

    他们有一个包含所有功能的免费版本,但每个工作表只能有150行,每个工作簿只能有5张,如果这符合您的需要,否则付费版本的1开发者许可证起价为425美元。

    以下是适用于您的问题的其他答案: StackOverflow: Create Excel (.XLS and .XLSX) file from C#