0

我是 c# 新手,我几乎完成了一个简单的项目。该项目需要包含一个可供下载的 excel 文件,使用LinkLabel

如何在编译我的项目时包含此文件,当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;
        }
    }
4

1 回答 1

0
  1. 将 excel 文件添加到您的Project(添加 -> 现有项目)。
  2. 右键单击添加的 Excel 文件,转到Properties
  3. 设置Build ActionContent
  4. 设置Copy to Output DirectoryCopy AlwaysCopy If Newer

通过做这个; 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 应用程序...

于 2013-06-10T03:15:15.887 回答