Excel 닫지 않습니다

0

질문

내 문제가 있다는 것을 읽을 수 있는 프로그램 데이터에서 Excel sheet.xlsb,하지만 엑셀 파일을 열고,그것을 저장합니다. 왜?

 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 우수는 이름 때문에 우리가 사용해야 한다("").

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ý
..................................................................................................................