0

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

我的问题是创建将被邮寄的电子表格。我似乎无法弄清楚如何将 DataTable 中的行(最初来自下载的电子表格)添加到将要邮寄的电子表格中。

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

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

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

4

2 回答 2

0

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

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

如果您从以下内容开始:

1) 从源加载数据 2) 从源处理数据 3) 将结果写入目标

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

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

于 2009-10-20T07:58:44.093 回答
0

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

在此处查看实时 ASP.NET(C# 和 VB)“Excel 到 Datagrid”示例。这里有更多示例——其中一些可能证明是有用

免责声明:我拥有 SpreadsheetGear LLC

于 2009-10-20T13:46:41.147 回答