gpt4 book ai didi

c# - 将文本文件转换为 Excel

转载 作者:行者123 更新时间:2023-12-04 21:38:01 24 4
gpt4 key购买 nike

我有文本文件,我通过将它们复制/粘贴到 Excel 中将它们转换为 Excel,然后转到 DATA -> Text to Columns。

  • 然后我选择分隔。
  • 然后选择分隔符选项卡和分号。
  • 在最后一步中,我为所有字段选择文本。

  • 现在我想通过在 C# 中制作一个程序来自动化它。

    我将对 Excel 文件中的数据进行一些编辑。如果特定列具有特定名称等,则可以创建一个新的 Excel 文件。因此,我可以从一个文本文件中得到三四个 Excel 文件。

    什么是相对优点:

    将文本文件读入字符串/列表然后检查数据然后将数据写入不同的 Excel 文件?

    或者

    在 C# 中使用 TextToColumn() 方法然后开始编辑然后将其写入新的 Excel 文件?

    如果还有其他更好的方法来完成这样的事情,请提出建议。

    编辑:我看到很多第 3 方的建议,但我想自己做,这样我就可以学习了。

    最佳答案

    您可以通过以下两种方法之一执行此操作。
    第一种方法:
    使用此代码将文本文件转换为 csv 文件

    using System.IO;
    void ConvertToCsv(string sourcefile, string destfile)
    {
    int i, j;
    StreamWriter csvfile;
    string[] lines, cells;
    lines = File.ReadAllLines(sourcefile);
    csvfile = new StreamWriter(destfile);
    for (i = 0; i < lines.Length; i++)
    {
    cells = lines[i].Split(new Char[] { '\t', ';' });
    for (j = 0; j < cells.Length; j++)
    csvfile.Write(cells[j] + ",");
    csvfile.WriteLine();
    }
    csvfile.Close();
    }
    然后打开这个文件保存为 xlsx 文件。
    第二种方法:
    使用此代码将文本文件直接转换为 xlsx 文件。
    using System.IO;
    using Excel = Microsoft.Office.Interop.Excel;

    void ConvertToXlsx(string sourcefile, string destfile)
    {
    int i, j;
    Excel.Application xlApp;
    Excel.Workbook xlWorkBook;
    Excel._Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    string[] lines, cells;
    lines = File.ReadAllLines(sourcefile);
    xlApp = new Excel.Application();
    xlApp.DisplayAlerts = false;
    xlWorkBook = xlApp.Workbooks.Add();
    xlWorkSheet = (Excel._Worksheet)xlWorkBook.ActiveSheet;
    for (i = 0; i < lines.Length; i++)
    {
    cells = lines[i].Split(new Char[] { '\t', ';' });
    for (j = 0; j < cells.Length; j++)
    xlWorkSheet.Cells[i + 1, j + 1] = cells[j];
    }
    xlWorkBook.SaveAs(destfile, Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
    xlWorkBook.Close(true, misValue, misValue);
    xlApp.Quit();
    }
    不要忘记添加此引用。
    项目 > 添加引用 > 程序集 > 扩展
    选择“Microsoft.Office.Interop.Excel”
    您还可以对值进行所需的检查并将它们写入单独的文件。

    关于c# - 将文本文件转换为 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29086612/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com