여기에서 살펴본 여러 가지 솔루션을 시도했지만 여전히 Excel 파일을 작성하는 데 문제가 있습니다.다른 사용자와 충돌하는 Excel 파일 작성
나는 처음에는 작업 파일에 복사 할 템플릿 xlsx 파일이 있습니다. 그때 나는이 시점에서
connection.Close();
}
이의 사용 블록이 종료하기 전에이
using (var connection = new OleDbConnection(string.Format(
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Mode=ReadWrite;Extended Properties=\"Excel 12.0;HDR=YES\";",
outputfileName)))
{
connection.Open();
var command = connection.CreateCommand();
같은 블록이 Eventualy
command.ExecuteNonQuery();
일련의 다음이, 내 응용 프로그램이 나타납니다 Excel 파일에 매달려 있어야합니다. 수동으로 또는 System.Diagnostics.Process
을 통해 파일을 열려고하면 "다른 사용자가 파일을 편집 할 수 없습니다"라는 메시지가 나타나고 "OK"라고 응답해도 여전히 빈 템플릿 만 표시됩니다.
실제로 앱을 종료하면 Excel 파일이 완전하고 액세스 가능한 것으로 보입니다. 분명히 연결을 닫으면 버퍼를 비우고 파일을 해제 할 수 없습니다.
내가 이해하고 싶은 것은 파일에 대한 보류를 해제하는 방법입니다. 실제로 내 앱에서 프로세스를 사용하여 사용자가 파일을 열거 나 직접 열 수 있도록 할 수 있습니다. .
FileStream.Unlock 메서드를 사용해보십시오.이 링크를 확인하십시오. http://msdn.microsoft.com/en-us/library/system.io.filestream.unlock%28v=vs.100%29.aspx – MMK