首页 > 解决方案 > 如何在项目文件夹中检索 Excel 文件?

问题描述

使用以下代码,我可以将Book1.xlsx文件从Application 文件夹复制Desktop

vb.net版

Private Sub Button1_Click(sender As Object, e As RoutedEventArgs) Handles Button1.Click
    IO.File.Copy(sourceFileName:=IO.Path.Combine(New IO.FileInfo(Reflection.Assembly.GetExecutingAssembly.FullName).DirectoryName, "Book1.xlsx"),
                 destFileName:=My.Computer.FileSystem.SpecialDirectories.Desktop & "\Book1.xlsx")
End sub

C#版本

private void Button1_Click(object sender, RoutedEventArgs e)
{
    System.IO.File.Copy(sourceFileName: System.IO.Path.Combine(new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().FullName).DirectoryName, "Book1.xlsx"), 
                          destFileName: My.Computer.FileSystem.SpecialDirectories.Desktop + @"\Book1.xlsx");
}

请按照以下方式将Book2.xlsx文件放入项目文件夹:添加 > 现有项目

如何从项目文件夹中复制Book2.xlsx文件并粘贴到桌面?

我的问题摘要在这里:

我可以将Book1.xlsx文件从Application 文件夹复制Desktop

如何将Book2.xlsx文件从Project 文件夹复制Desktop

标签: c#wpfvb.netvisual-studio

解决方案


请按照以下方式将 Book2.xlsx 文件放入项目文件夹:添加 > 现有项目

如何从项目文件夹中复制 Book2.xlsx 文件并粘贴到桌面?

我的问题摘要在这里:

我可以将 Book1.xlsx 文件从 Application 文件夹复制到桌面。

如何将 Book2.xlsx 文件从 Project 文件夹复制到桌面。

在 WPF 中,您需要使用Pack URI来访问您所做的文件,即“将 Book2.xlsx 文件放入项目文件夹,方法如下:添加 > 现有项目”

并将 Book2.xlsx Build Action 设置为 'Resource'。然后,尝试以下代码。

      private void Button_Click(object sender, RoutedEventArgs e)
    {
        string excelPath = "pack://application:,,,/Xbook2.xlsx";
        StreamResourceInfo excelInfo = System.Windows.Application.GetResourceStream(new Uri(excelPath));

        using (Stream file = File.Create(@"D:\Xbook2.xlsx"))
        {
            CopyStream(excelInfo.Stream, file);
        }

        //System.IO.File.Copy(excelInfo.Stream., @"D\Xbook2.xlsx");
    }

    public static void CopyStream(Stream input, Stream output)
    {
        byte[] buffer = new byte[8 * 1024];
        int len;
        while ((len = input.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, len);
        }
    }

推荐阅读