C# Excel 文本到列问题

2024-04-21

您好,我在 C# 中调用了文本到列函数,但结果并不像我想要的那样。

我的工作表的第一个单元格中有这些数据。

Guest;0;12/10/2010 03:46:34 PM;66082

如果我从 Excel 手动运行“文本到列”,我就明白了。

Guest   0   12/10/2010 15:46    66082

但是,如果我运行我的 C# 代码,我就会明白。

Guest   0   10/12/2010 15:46    66082

日期格式已从“DD/MM/YYYY”更改为“MM/DD/YYYY”

这是我的 C# 代码

((Range)ws.Cells[1,1]).EntireColumn.TextToColumns(
Type.Missing, Excel.XlTextParsingType.xlDelimited,
 Excel.XlTextQualifier.xlTextQualifierNone, Type.Missing,
 Type.Missing, true, Type.Missing,
 Type.Missing, Type.Missing,
 Type.Missing, Type.Missing,
 Type.Missing, Type.Missing);

我什至从 Excel 中录制了宏。

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1))

我唯一无法尝试的是 FieldInfo。不知道如何将其转换为 C#。谷歌也没有提供太多帮助。我有点怀疑它是 xlGeneralFormat。

有任何想法吗?谢谢。

object fieldInfo = new int[4,2] {{1,1},{2,1},{3,1},{4,1}};

好吧,我意识到问题不在于 FieldInfo,即使我忽略它它也运行正常。

问题就出在于此。

wb.Close(true, saveFileDialog1.FileName, Type.Missing);

我把它保存到另一个文件中。并发现原始文件的格式是我想要的正确格式。但新保存的文件格式错误。

我注释掉了关闭行,并手动保存。旧文件仍然是分隔形式,而新文件仍然是错误的格式。

显然,对象 FileName 仅在“saveFileDialog1.FileName”时才有效。换句话说,只有文件名相同时才有效。我尝试了 Type.Missing 和 @"C:\lalala.xls" 并且它没有向列发送文本。

我刚刚意识到“文本到列”中的格式甚至不起作用 -.- 好吧我放弃了。我要将 DateTime 转换为 Excel Serial DateTime。 尽管如此,这是一个有趣的问题。


我的书(Programming Excel with VBA and .NET, Webb & Saunders)简单地将 FieldInfo 描述为“描述文本中字段的数据类型的数组”。所以看来解决方案应该存在,但宏不包含任何日期格式。

MSDN 参考文档更有用:

http://msdn.microsoft.com/en-us/library/04b02wh9%28v=VS.80%29.aspx http://msdn.microsoft.com/en-us/library/04b02wh9%28v=VS.80%29.aspx

是的,它是一个数组:实际上是一个值对数组(因此是宏中的数组的数组)。第一个值是列号。第二个值是 XlColumnDataType 常量。 定义在这里:

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlcolumndatatype.aspx http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlcolumndatatype.aspx

请注意日期格式列表。看起来您需要第三列的 xlDMYFormat 或 xlMDYFormat 值?

如果您知道哪些列包含日期(如上面的假设),那么您还可以在之后显式设置格式。尽管它确实将其变成了一个两阶段的过程,但节省了数组的麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# Excel 文本到列问题 的相关文章

随机推荐

  • pmap 和线程数

    user gt Runtime getRuntime availableProcessors 2 并评估这个例子 http clojuredocs org clojure core clojure core pmap example 684
  • “PKIX 路径构建失败”和“无法找到请求目标的有效证书路径”

    我正在尝试使用 twitter4j 库为我的 java 项目获取推文 该项目在幕后使用java net HttpURLConnection 如堆栈跟踪中所示 第一次运行时 我收到有关证书的错误sun security validator V
  • PyQt:QFileSystemModel 复选框过滤器

    我正在尝试使用 python pyqt 创建一个实用程序来从QFileSystemModel 仅包括已检查的项目 现在我想要控制QFileSystemModel使用文件名 文件类型 文件大小进行过滤的复选框 我如何勾选 取消勾选QFileS
  • MediatR 和 SimpleInjector 的依赖范围问题

    我一直在使用中介者模式和 CQRS 进行实验MediatR https github com jbogard MediatR使用实体框架进行数据访问的 WinForms 应用程序中的库 该应用程序用于批次制造工厂 允许用户查看活动批次和已完
  • 有没有办法在没有样式组件的情况下为整个反应应用程序设置默认字体系列?

    我正在寻找一种方法来设置整个反应应用程序的默认字体系列 但所有结果 包都指向反应本机 对于React 有没有一种方法可以默认全局字体设置 而无需在每个CSS中指定font family 谢谢 如果我正确理解你的问题 应该这样做 import
  • C代码运行速度更快吗?

    从 Objective C 调用 C 代码是否有任何性能提升 我在某处读到 与使用函数调用的其他语言相比 消息传递速度较慢 那么 如果我从 Objective C 代码调用 C 函数 我是否可以避免消息传递开销 在优化性能时 是否建议使用
  • 如何在 Ubuntu 20.04 中安装 Python2.7 的 pip

    有什么方法可以为 Python2 7 安装 pip 吗 我可以通过安装 python2 7 sudo apt install python2 minimal 我尝试为此安装 pip sudo apt install python pip p
  • 为什么我的 JQuery .ajax 请求没有并行发出?

    我正在尝试使用 jQuery 并行发出两个 ajax 请求 如下所示 var sources source1 source2 sources each function var source this ajax async true typ
  • 是否可以使用 np 数组作为 h5py 数据集中的索引?

    我需要将多个数据集 每个数据集包含在一个单独的文件中 合并到属于最终文件的另一个数据集中 当部分数据集中的数据被复制到最终数据集中时 它们的顺序不会保留 部分数据集中的数据通过索引 映射 到最终数据集中 我创建了两个列表 final ind
  • 如何检测我的任何活动是否位于最前面并且对用户可见?

    我想在我的任何活动可见时启动一个意图 否则我会将其作为通知发布 并将由用户触发 为了决定这一点 我需要知道我的任何活动是否是最重要的 我该怎么做 我不知道有一种方法可以获取当前显示的活动 但是您可以结合使用活动生命周期 http devel
  • 使用迭代器从“查找”或“删除”中删除

    我想知道在 C 中从向量中删除元素的最佳实践是什么 我多次看到人们使用 std remove 查找并删除元素 然后使用擦除从向量中删除元素 但为什么它比使用 find 获取要删除的元素的迭代器然后使用该迭代器的擦除更好呢 Thanks st
  • Android核心库错误

    当我包含 jaxp jar 时 出现以下错误 trouble processing javax xml XMLConstants class 2009 05 08 16 53 18 TestProject Attempt to includ
  • bash:找不到 nodemon 命令 Windows 10

    I spent a lot of time looking for a solution but didn t find anything with my case So I checked global packages npm list
  • 我想检查android中的声音响度

    我正在开发一个应用程序 我必须检测语音的响度 意味着手机上有一些喊叫 它会在屏幕上显示响度级别 哪个 API 可以用于此目的 Look at http developer android com reference android medi
  • Android 流量统计数据报告的内容比我下载的内容还要多

    您好 我正在运行一个简单的下载测试 看看我的连接速度有多快 我记录了trafficStats rx值 然后下载了一个5MB的文件 记录了rx值 然后计算了差异 我知道这个文件正好是 5MB 这是代码 URL url new URL urlS
  • 如何在 sed 命令中使用变量

    我有一个名为 text file1 txt 的文件 文件中的内容是 主题 C US O AAA OU QA OU 12345 OU TESTAPP 现在我想要实现的是如下内容 主题 C US O AAA QA 12345 TESTAPP 当
  • 洪水填充算法是否考虑了 alpha 且不会在抗锯齿线周围留下边缘?

    我已经实现了一个典型的洪水填充算法 当使用纯色时 它按预期工作 其中我使用 ARGB 分量之间的欧几里德距离来比较颜色 我的问题是 如果您在透明背景上绘制类似抗锯齿红线的内容 我的洪水填充算法将不会填充大多数半透明像素 从而在对象周围留下条
  • Google Assistant 更改表面不起作用

    嗨 大家好 我目前正在尝试使用 Dialogflow 为 Google Assistant 构建一个应用程序 在特定意图期间 我想将用户重定向到他的手机 使用扬声器时 因为该意图需要精确的键盘输入 正如文档中所说 我正在打电话askForN
  • 1&1 Windows 托管服务器 web.config URL 重写问题

    我面临与 1 1 托管的 Windows 服务器中的 URL 重写相关的问题 我正在尝试使用 web config 文件重写 url 但它根本不起作用 给我错误或 500 19 错误总结 HTTP 错误 500 19 内部服务器错误 无法访
  • C# Excel 文本到列问题

    您好 我在 C 中调用了文本到列函数 但结果并不像我想要的那样 我的工作表的第一个单元格中有这些数据 Guest 0 12 10 2010 03 46 34 PM 66082 如果我从 Excel 手动运行 文本到列 我就明白了 Guest