在我的应用中,我正在从FTP下载电子表格,将从电子表格中读取的数据移动到DataTable,并根据特定条件通过电子邮件发送新电子表格(包含第一个电子表格中某些行的电子表格)。
我的问题是创建将邮寄的电子表格。我似乎无法弄清楚如何将DataTable中的行(最初来自已下载的电子表格)添加到将要邮寄的电子表格中。
DS.Tables(0).Rows.Add(ObjSheet.Range(workTable.Rows(i)) - 1)
目前我得到的是什么,但它不起作用。 workTable是DataTable,其中电子表格中的行被复制到。 DS是DataSet,我在这里放置特定选择的行。 我非常确定我可以通过消除DataTable或DataSet来简化数据流。
为了消除任何混淆,我正在使用VB2005 - 希望我可以使用2008,LINQ简化了这么多......
答案 0 :(得分:0)
其中一个答案可能是没有办公室编程 - 如果你可以使用Office 2007文件格式(并且考虑到Office Compatability包的存在,没有根本原因你不应该这样做,尽管可能存在问题然后你可以使用.NET代码,System.IO.Packaging和Open XML Format SDK 1.0 - 这就是.NET 3.0,它只是库,因此可以在VS2005中使用。
更实际的是,不要那么敏锐(至少在第一种情况下)去除中间步骤 - 我需要定期提醒自己。
如果您从以下开始:
1)从源加载数据 2)处理来自数据源的数据 3)将结果写入目的地
然后,您将能够在步骤1和2中演示您拥有所需内容,并且步骤3变得更易于管理,因为您只是尝试将已知数据从app移动到文件。
嗯,这比“回答”更“思考” - 但我希望它有所帮助。答案 1 :(得分:0)
SpreadsheetGear for .NET可以帮助您做到这一点。
查看实时ASP.NET(C#和VB)“Excel to Datagrid”示例here。有更多的样本 - 其中一些可能有用 - here。
免责声明:我拥有SpreadsheetGear LLC