使用 c# 读取一个并更新其他 Excel
Reading one & Update some other Excel with c#
我正在开发一个小型 winform 实用程序来读取一个 excel 并更新另一个 excel。
我正在尝试使用 OLEDB 读取源 excel 文件(其中有几个隐藏的列和行)。我能够做到这一点并在 Datatable 中获得输出,但面临以下几个挑战:
- Sheet 包含带有数字、日期和字符串的列。通过 OLEDB 读取后,所有数字都会转换为日期,反之亦然。我不希望这发生。我已经阅读了几种解决方案,例如在连接字符串中将 IMEX 设置为 1,但没有任何效果。我该如何解决?
- 我只想返回活动区域。目前,我看到这么多空白 columns/rows。我必须手动处理它。
- 我尝试根据列值之一过滤 excel 输出,但没有成功。
- 有什么方法可以丢弃隐藏的列吗?
- 加载数据表后,我看到列显示为 F1、F2.. 等等。是的,来源 excel 的列从第 4 行开始。如何在数据表中保留这些名称?
阅读源代码 excel 后,我必须 运行 一些逻辑并逐行甚至逐列更新其他 excel。我也必须保留格式。什么最好更新其他 excel?
- 你想要做的是使用 schema.ini 文件,这里是一个示例:
[ABC_20171128.csv]
Format = Delimited(|)
CharacterSet=ANSI
ColNameHeader=True
DateTimeFormat=dd MM yyyy hh:nn:ss
Col1 = Date DateTime
Col2 = AccountID Text
Col3 = SubAccount Text
Col4 = MarketCode Text
Col5 = SecurityCode Text
Col6 = Units Single
将 schema.ini 文件放在与您正在阅读的文件相同的目录中。
更多信息:Missing column of Dates in CSV file using Schema.ini file
是手动处理它或不使用 OleDB 使用 Interop。
MCVE 有一个新问题。
您需要互操作来确定隐藏了哪些列。或者你会知道哪些是隐藏的要丢弃。
Schema.ini 应该可以解决第 headers 列的问题。
我正在开发一个小型 winform 实用程序来读取一个 excel 并更新另一个 excel。
我正在尝试使用 OLEDB 读取源 excel 文件(其中有几个隐藏的列和行)。我能够做到这一点并在 Datatable 中获得输出,但面临以下几个挑战:
- Sheet 包含带有数字、日期和字符串的列。通过 OLEDB 读取后,所有数字都会转换为日期,反之亦然。我不希望这发生。我已经阅读了几种解决方案,例如在连接字符串中将 IMEX 设置为 1,但没有任何效果。我该如何解决?
- 我只想返回活动区域。目前,我看到这么多空白 columns/rows。我必须手动处理它。
- 我尝试根据列值之一过滤 excel 输出,但没有成功。
- 有什么方法可以丢弃隐藏的列吗?
- 加载数据表后,我看到列显示为 F1、F2.. 等等。是的,来源 excel 的列从第 4 行开始。如何在数据表中保留这些名称?
阅读源代码 excel 后,我必须 运行 一些逻辑并逐行甚至逐列更新其他 excel。我也必须保留格式。什么最好更新其他 excel?
- 你想要做的是使用 schema.ini 文件,这里是一个示例:
[ABC_20171128.csv]
Format = Delimited(|)
CharacterSet=ANSI
ColNameHeader=True
DateTimeFormat=dd MM yyyy hh:nn:ss
Col1 = Date DateTime
Col2 = AccountID Text
Col3 = SubAccount Text
Col4 = MarketCode Text
Col5 = SecurityCode Text
Col6 = Units Single
将 schema.ini 文件放在与您正在阅读的文件相同的目录中。
更多信息:Missing column of Dates in CSV file using Schema.ini file
是手动处理它或不使用 OleDB 使用 Interop。
MCVE 有一个新问题。
您需要互操作来确定隐藏了哪些列。或者你会知道哪些是隐藏的要丢弃。
Schema.ini 应该可以解决第 headers 列的问题。