【问题标题】:Spreadsheet from DataTable数据表中的电子表格
【发布时间】:2010-12-08 05:53:26
【问题描述】:

在我的应用程序中,我从 FTP 下载电子表格,将从电子表格读取的数据移动到 DataTable,并根据特定条件通过电子邮件发送新电子表格(其中包含第一个电子表格中的某些行)。

我的问题是创建要邮寄的电子表格。我似乎不知道如何将 DataTable 中的行(最初来自下载的电子表格)添加到要邮寄的电子表格中。

DS.Tables(0).Rows.Add(ObjSheet.Range(workTable.Rows(i)) - 1)

这是我目前所拥有的,但它不起作用。 workTable 是将电子表格中的行复制到的 DataTable。 DS 是我从特定选择中放置行的数据集。 我很确定我可以通过消除 DataTable 或 DataSet 来简化数据流。

为了消除任何混淆,我使用的是 VB2005 - 希望我可以使用 2008,LINQ 简化了很多...

【问题讨论】:

  • 我很困惑。为什么不直接使用 Excel 复制行?
  • 我可能应该提到这是我第一次使用办公包进行任何形式的编程......

标签: vb.net excel datatable dataset export-to-excel


【解决方案1】:

SpreadsheetGear for .NET 可以帮助您做到这一点。

查看实时 ASP.NET(C# 和 VB)“Excel 到 Datagrid”示例here。还有更多示例 - 其中一些可能有用 - here

免责声明:我拥有 SpreadsheetGear LLC

【讨论】:

    【解决方案2】:

    答案之一可能是不使用 Office 进行编程 - 如果您可以使用 Office 2007 文件格式(并且鉴于 Office 兼容性包的存在,没有根本原因不应该使用,尽管可能存在问题特定环境)然后您可以使用 .NET 代码、System.IO.Packaging 和 Open XML Format SDK 1.0 - 那是 .NET 3.0,它只是库,因此可以从 VS2005 使用。

    更务实的是,不要那么热衷于(至少在第一个实例中)取消中间步骤 - 我需要定期提醒自己。

    如果你从以下开始:

    1) 从源加载数据 2)从源头处理数据 3) 将结果写到目的地

    然后您将能够在第 1 步和第 2 步中证明您拥有所需的内容,并且第 3 步变得更易于管理,因为您只是尝试将已知数据从应用程序移动到文件。

    嗯,这更多的是“想法”而不是“答案”——但我希望它会有所帮助。

    【讨论】:

    • 在我第一次发帖后,我想起了 DataSet 的用途。在最初的电子表格(因此也包括数据表)中,我将获取满足条件的行,并将整个电子表格中的那几行放入数据集中,因此数据流如下所示:电子表格>> DataTable >> DataSet >> Spreadsheet 正如我所说,我以前从未做过这样的事情,所以这里最简单的解决方案肯定是最好的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 2016-04-08
    相关资源
    最近更新 更多