vb.NET SaveAs 不保存所有 Excel 数据

Posted

技术标签:

【中文标题】vb.NET SaveAs 不保存所有 Excel 数据【英文标题】:vb.NET SaveAs not saving all Excel data 【发布时间】:2013-12-16 11:34:37 【问题描述】:

我有一个非常奇怪的问题,我似乎无法在网上找到答案。

我有一个 VB.NET 应用程序,它创建一个 Excel 数据(总共大约 42,542 行)并将文件保存到文件夹位置并在屏幕上为用户打开它。

屏幕版和文件夹版只显示16,372行数据,就像被截断一样。

当我进行调试时,我可以看到所有行都被添加,如果我在调试中手动保存所有行。有些数据似乎在系统保存时丢失了。

我从 4 个记录集中获取数据,并一个接一个地写入每个记录集,并为 Excel 工作表上的每个块提供特定的标题。

我的存档是:

xlWBook.SaveAs(Filename:=sFileName, FileFormat:=Excel.XlFileFormat.xlExcel7)

请问有人知道这可能是什么吗?

【问题讨论】:

【参考方案1】:

旧版本的 Excel 仅支持每个工作表 16,384 行。您保存为 Excel7(即 Excel 95)并有此限制:

请参阅此处了解每个版本的尺寸摘要:

https://superuser.com/questions/366468/what-is-the-maximum-allowed-rows-in-a-microsoft-excel-xls-or-xlsx

将您的代码更改为另一种格式,请参阅此处了解所有允许的格式:XlFileFormat Enumeration

但是文件格式实际上是 SaveAs 方法中的一个可选参数,因此您可以完全不使用它:“对于现有文件,默认格式是最后指定的文件格式;对于新文件,默认是正在使用的 Excel 版本的格式。"

来源:WorkBook.SaveAs Method

【讨论】:

非常感谢您抽出宝贵时间回复我的问题。该问题现已解决。感谢您的帮助。

以上是关于vb.NET SaveAs 不保存所有 Excel 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 vb.net 保存 excel 文件?

SaveAs 不提示保存

vb.net dataGridView导出EXCEL

[vb.net] 怎么把listview中数据 导出保存到成excel文件

使用 VB.NET 使用用户定义的文件名保存 excel 工作簿(此语句有啥问题?)

如何使用 VB.NET 将 Excel 工作簿保存到一般路径中