我正在尝试创建一个.Net应用程序来编辑excel文件,方法是删除一些列并保留我们需要的列,然后根据第一列删除重复值,这将是序列号。这应该有一个默认6位数的检查,如2563应该显示为002563。
请帮帮我..
编辑从OP的评论中复制的代码:
Public Function GetAllFileContents(ByVal path As String, ByRef errorMessage As String) As IList(Of String)
Dim contents = New List(Of String)
Try
Dim files = Directory.GetFiles(path, "*.xls")
If (files.Length = 0) Then errorMessage = "Please select the files"
For Each file In files
contents.Add(System.IO.File.ReadAllText(file, Encoding.Default))
Next
Catch ex As Exception
errorMessage = ex.Message
End Try
Return contents
我正在尝试创建不同的东西,不仅让我为excel文件,而且与txt和csv文件一起使用它。删除我不想要的所有值并删除重复项,然后在可能的情况下检查序列号最少应为6个字符的第一列数据,然后输出文件应包含大写的所有详细信息
答案 0 :(得分:1)
假设此代码不需要在服务器或类似服务器上运行,并且您在运行它的机器上安装了MS Office版本,我建议最简单的方法是使用Excel自动化。这篇文章应该向您展示足够的内容:How to automate Microsoft Excel from Visual Basic .NET
如果您首先使用该代码,您应该能够弄清楚如何提取所需的所有数据,然后您可以在内存中操作它,然后根据需要将其写回。
修改:在下方添加了更多信息:
查看该示例中的行oSheet.Cells(1, 2).Value = "Last Name"
,将单元格设置为特定值,只需将其更改为myVariable = oSheet.Cells(1, 2).Value
,然后您将获得该单元格的值。只需循环访问您感兴趣的列中所有单元格的值。然后查看本文以获取有关如何将值写入文本文件的信息:How to: Write Text to a File
如果有很多值,那么有更有效的方法可以做到这一点,但是如果你先让它工作以便你理解这一点,那么让它更快就不会太难了。