在Excel中保存csv文件后,如何打开它?

本文关键字:何打开 文件 Excel 保存 csv | 更新日期: 2023-09-27 18:06:21

我做了一些研究,不确定是否应该使用

Microsoft.Office.Interop.Excel

只是为了澄清这个例子:我正在取一个。txt,并做一些事情,然后将其保存为。csv(逗号分隔值)。然后我想打开它(在按钮上点击或其他…)

如何做到这一点?

在Excel中保存csv文件后,如何打开它?

对你的评论:

我想在Excel.exe中打开它。它应该是一个单独的窗口,在我的程序完成转换后启动

只需使用System.Diagnostics.Process类启动它:

using System.Diagnostics.Process;//at top of your application
//
//At button click or after you finish editing
//
Process excel = new Process();
//if the excel was installed in the target machine and the default program to open csvs
//then you can simply just call process start and put the file path, like:
excel.Start(@"Your edited csv file path");
//otherwise:
excel.StartInfo.FileName = @"The excel application file path";
excel.StartInfo.Arguments = @"Your edited csv file path";
excel.Start();

您可以使用文件路径作为命令行参数(excel.exe C:'myFile.csv)启动excel进程。这将在excel中打开它

是的,Microsoft.Office.Interop.Excel是在Excel中打开CSV文件所需要的。

取决于你使用的是哪个框架(即Silverlight或Windows Forms)。如果我是你,我会使用OpenFileDialog从逗号分隔的列表中读取值到字符串或类。下面的示例是silverlight。

private void bOpenFileDialog_Click(object sender, RoutedEventArgs e)
    {
        // Create an instance of the open file dialog box.
        var openFileDialog1 = new OpenFileDialog();
        // Set filter options and filter index.
        openFileDialog1.Filter = "CSV File (.csv)|*.csv|All Files (*.*)|*.*";
        openFileDialog1.FilterIndex = 1;
        openFileDialog1.Multiselect = false;
        // Call the ShowDialog method to show the dialog box.
        bool? userClickedOK = openFileDialog1.ShowDialog();
        // Process input if the user clicked OK.
        if (userClickedOK == true)
        {
            // Open the selected file to read.
            System.IO.Stream fileStream = openFileDialog1.File.OpenRead();
            using (System.IO.StreamReader reader = new System.IO.StreamReader(fileStream))
            {
                // Read the first line from the file and write it the textbox.
                tbResults.Text = reader.ReadLine();
                //the results of your CSV are now stored in tbResults.Text
                //optionally you could parse the .CSV using string.Spit(',') into a string      array                    
            }
            fileStream.Close();
        }
    }

这是一个WinForms, WPF还是ASP ?网络应用程序?如果您使用Office互操作库,则依赖于安装在该计算机上的Office。如果它是一个web服务器,你不希望以这种方式运行Excel。

查看www.SpreadSheetGear.com。没有隶属关系,只是很满意。