无法在 c# 中另存为 excel 文件,而不会给出只读错误


    private void button1_Click(object sender, EventArgs e)
    {
        xlApp = new Excel.Application();
        xlWorkBook = xlApp.Workbooks.Open(fileName, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "t", false, false, 0, true, 1, 0);
        xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
        range = xlWorkSheet.UsedRange;
        xlAppDestination = new Excel.Application();
        xlAppDestination.DisplayAlerts = false;
        xlWorkBookDestination = xlAppDestination.Workbooks.Open(fileNameDestination, 0, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "t", false, false, 0, true, 1, 0);
        xlWorkSheetDestination = (Excel.Worksheet)xlWorkBookDestination.Worksheets.get_Item(1);
        rangeDestination = xlWorkSheetDestination.UsedRange;
        rangeDestination.Cells[1, 1] = (string)(range.Cells[14, 3] as Excel.Range).Text.ToString();
        textBox1.Text = fileNameDestination;
        //xlAppDestination.ActiveWorkbook.Save();
        xlWorkBookDestination.SaveAs(fileNameDestination);
        xlWorkBookDestination.Close(0);
        xlWorkBook.Close(0);

        xlCleanup();
    }

我正在尝试打开一个 excel 文件,并将信息从该文件传输到另一个 excel 文件,即目标 excel 文件。唯一的问题是在储蓄方面。我以非只读方式打开目标文件,但是当我尝试保存时,它说它是只读的。我确保没有额外的 excel 任务在后台运行,它仍然会发生。当我使用保存时它可以工作,但它不能可靠地保存在同一位置的目标文件。我还没有确定它需要什么模式,但我需要每次都能覆盖同一位置的目标文件,因为这将附加到已经存在的旧 excel 文件中。无论我对 saveas 语句做什么,它总是让我回到只读参数。

编辑 - 我尝试使用 .保存() 选项,然后关闭警报。但是,它不会忽略覆盖目标文件的警报,而是将其粘贴在"文档"文件夹中。有没有人对常规 Save() 方法的行为有经验?

您是否右键单击 excel 文件并检查其属性以确保未设置"只读"属性?

rangeDestination.Cells[1, 1] = (string)(range.单元格[14, 3]作为Excel.Range)。Text.ToString(); textBox1.Text = 文件名目的地 & ".xls";

相关内容

最新更新