包括可供下载的资源文件

时间:2013-06-10 03:04:26

标签: c# embedded-resource

我是c#的新手,我几乎完成了一个简单的项目。此项目需要包含可使用LinkLabel

下载的Excel文件

如何在编译项目时包含此文件,单击LinkLabel时,用户将保存文件。

我的谷歌搜索总是指向我创建一个Excel,我不需要创建它,它已经可用,我只需要包含在我的资源文件中。

我被困在这里;

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {

    }

现在它的工作正常,下面的代码,由于得分低,我无法回答我的问题。

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        string filePath = null;
        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
            filePath = saveFileDialog1.FileName;
            File.WriteAllBytes(@filePath, Properties.Resources.importPurchases);
            MessageBox.Show("File Successfully saved.\r\n\r\n" + filePath, "Success Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        else
        {
            return;
        }
    }

1 个答案:

答案 0 :(得分:0)

  1. 将excel文件添加到Project(添加 - >现有项目)。
  2. 右键单击添加的Excel文件,转到Properties
  3. Build Action设为Content
  4. Copy to Output Directory设为Copy AlwaysCopy If Newer
  5. 通过这样做;在构建之后,Excel文件将始终复制到输出文件夹。

                var saveFileDialog = new SaveFileDialog();
                saveFileDialog.DefaultExt = "xls";
                saveFileDialog.Filter = "Excel files (*.xls)|*.xls |All files (*.*)|*.*";
    
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    const string MyFileName = "myExcelFile.xls";
    
                    string execPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
    
                    var filePath = Path.Combine(execPath, MyFileName);
    
                    Microsoft.Office.Interop.Excel.Application app = new Application();
    
                    Microsoft.Office.Interop.Excel.Workbook book = app.Workbooks.Open(filePath);
    
                    book.SaveAs(saveFileDialog.FileName); //Save
    
                    book.Close();
                }
    

    更新:以上示例适用于Windows应用程序...