Excel बंद नहीं करता है

0

सवाल

मेरी समस्या है कि मैं एक कार्यक्रम पढ़ता है कि एक एक्सेल शीट से डेटा .xlsb, लेकिन जब Excel फ़ाइल खुला है, तो यह मुझसे पूछता है के लिए बचाने के लिए । क्यों?

 async Task<bool> ReadVariable()
        {
            bool succeeded = false;
            while (!succeeded)
            {
                
                //open file excel using microsoft dll
                Excel.Application app = new Excel.Application();
                

                //open workbook
                Workbook wk = app.Workbooks.Open(excelpath, ReadOnly : true);
                //get first sheet
                Worksheet sh = wk.Worksheets[1];
                //get cell
                // Cells[unten/rechts] Example: [1,2] = B1 
                var day1tag = sh.Cells[27, 2].Value.ToString();
                exceltest1.Text = day1tag;
              
                var day1früh = sh.Cells[26, 2].Value.ToString();
                Day24oee24.Text = day1früh;


               
                app.DisplayAlerts = false;
                wk.Close(SaveChanges : false);
                app.Quit();

                await Task.Delay(15000);
                //await Task.Delay(108000000);
            }
            return succeeded;
        }
c# excel
2021-11-24 05:59:11
1

सबसे अच्छा जवाब

1

[इसके अलावा में करने के लिए @JohnG]

सबसे पहले, आप रखना चाहिए app.Quit(); कमांड लाइन से बाहर की ओर पाश जबकि और फिर अपने algorthyms के बाद, बचाने के लिए है कि आपकी कार्यपुस्तिका के साथ इस कोड;

xlWorkbook.SaveAs(saveFileDialog1.FileName + ".xlsx", Excel.XlFileFormat.xlWorkbookDefault, null, null, null, null, Excel.XlSaveAsAccessMode.xlExclusive, null, null, null, null, null);

और फिर उपयोग

app.Quit();

इसके अलावा; सब के बाद, प्रक्रिया ज़ोंबी एक्सेल पर दिखाया जाएगा अपने कार्य प्रबंधक को हल करने के लिए है कि मैं होगा की तरह के रूप में की सिफारिश का पालन करें;

आयात;

using System.Diagnostics;

ज़ोंबी को मारने के लिए excel का उपयोग इस समारोह के साथ;

private void KillSpecificExcelFileProcess(string excelFileName)
{
    var processes = from p in Process.GetProcessesByName("EXCEL")
                    select p;

    foreach (var process in processes)
    {
        if (process.MainWindowTitle == excelFileName)
            process.Kill();
    }
}

और समारोह कॉल के रूप में का पालन करें; (Interop excels कर रहे हैं बेनाम कारण के लिए हम का उपयोग करना चाहिए ("").

KillSpecificExcelFileProcess("");
2021-11-24 11:22:24

Thx आप के लिए है कि KillSpecificExcelFileProcess(""); इस महान है :)
Lukas Klossek

लेकिन आप समझते हैं मुझे गलत है , मैं यह नहीं चाहते हैं बचाने के लिए,मैं उसे नहीं करना चाहते हैं पूछने के लिए मुझे बचाने के लिए अब
Lukas Klossek

तो आप का उपयोग नहीं करना चाहिए wk.Close(); और app.Quit(); आदेशों.
Gürkan Özdem

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में