簡體   English   中英

如果沒有提供只讀錯誤,就無法在C#中另存為Excel文件?

[英]Cannot SaveAs an excel file in c# without it giving a read-only error?

    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()選項,並關閉警報。 但是,它不會忽略警報來覆蓋目標文件,而是將其粘貼在Documents文件夾中。 是否有人對常規Save()方法的行為有經驗?

您是否右鍵單擊了excel文件並檢查其屬性,以確保未設置“只讀”屬性?

rangeDestination.Cells [1,1] =(string)(range.Cells [14,3] as Excel.Range).Text.ToString(); textBox1.Text = fileNameDestination&“ .xls”;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM