Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .TextToColumns“with.NumberFormat”_C#_Excel_Export To Excel_Export To Csv - Fatal编程技术网

C# .TextToColumns“with.NumberFormat”

C# .TextToColumns“with.NumberFormat”,c#,excel,export-to-excel,export-to-csv,C#,Excel,Export To Excel,Export To Csv,我有一个文本文件要保存为XLSX文件。但是,在保存和关闭之前,我需要执行TextToColumns,并且我需要H列保持文本格式 下面的代码将H列转换为文本格式,但当.TextToColumns执行时,H列将更改为自定义格式,从而更改数据 Microsoft.Office.Interop.Excel.Application oXL; Microsoft.Office.Interop.Excel.Workbook dataB; Microsoft.Of

我有一个文本文件要保存为XLSX文件。但是,在保存和关闭之前,我需要执行TextToColumns,并且我需要H列保持文本格式

下面的代码将H列转换为文本格式,但当.TextToColumns执行时,H列将更改为自定义格式,从而更改数据

        Microsoft.Office.Interop.Excel.Application oXL;
        Microsoft.Office.Interop.Excel.Workbook dataB;
        Microsoft.Office.Interop.Excel.Worksheet dataS;

        string path = @"C:\Users\fakename\Desktop\EXTRACTED_FORMATTED sampleFile.csv";

        oXL = new Microsoft.Office.Interop.Excel.Application();
        dataB = oXL.Workbooks.Open(path, 0,
            false, 5, Missing.Value, Missing.Value, false, Missing.Value, Missing.Value,
            false, false, Missing.Value, false, false, false);
        dataB.Application.DisplayAlerts = false;
        oXL.Visible = true;
        dataS = (Microsoft.Office.Interop.Excel.Worksheet)dataB.ActiveSheet;

        Range excelRange = dataS.get_Range("H1").EntireColumn;
        excelRange.NumberFormat = "@";

        dataS.get_Range("A1", ("A" + dataS.UsedRange.Rows.Count)).TextToColumns(
            Type.Missing, Microsoft.Office.Interop.Excel.XlTextParsingType.xlDelimited,
            Microsoft.Office.Interop.Excel.XlTextQualifier.xlTextQualifierNone, false,
            false, false, false, false, true, "|", Type.Missing, Type.Missing, Type.Missing, Type.Missing);

        dataS.Name = "PSH";
        dataS.SaveAs(@"C:\Users\fakename\Desktop\2\moresamplefiles", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault);
        dataB.Close(Missing.Value, Missing.Value, Missing.Value);
        oXL.Quit();

说得对,但是使用using Microsoft.Office.Interop.Excel语句,您的代码是否会更整洁?我不确定如何将其转录到c代码中,但您需要在的参数内设置。我怀疑这与您的一个或多个类型有关。缺少值。您需要传入一个数组。嵌套数组描述位置和格式;e、 g.数组4,2是xlTextFormat格式的第四个字段。