Q&A

  • 엑셀 파일 작업 후 에러..
안녕하세요..다름이 아니라,
엑셀을 파일을 불러와서 필드별로
DB 테이블에 insert하는 프로그램을 만들고 있습니다.
DB 연동과는 문제가 없는데요,
작업 후에 그 엑셀파일을 다시 보면 프로그램 종료 후에도,
읽기 전용으로 되어 버린다는겁니다.
아직 잘 몰라서 어떤 식으로 해야 할지 잘 모르겠네요.
조언 좀 부탁 드립니다..

//--<간략한 소스 내용>---
procedure TFOverwork.Btn_uploadClick(Sender: TObject);
begin
   try
      xls_name := filelistbox1.FileName;
      excelapp := CreateOleObject('Excel.application');
      excelbook := excelapp.workbooks.open(xls_name);
      excelsheet:= excelbook.sheets['Sheet1'];
   except
      excelapp.free;
   end;

   i := 2;

   //panel1.caption := '엑셀 데이타를 읽어오는 중입니다.(총 읽은 수 : '+inttostr(i-2)+')';

   while (excelsheet.cells[i,1]) do
   begin
      with Qry_main do
      begin
         prepare;
             // 이부분은 SQL 파라미터값 지정 등 기타 작업 내용이라 생략  
         end;

      try
          Qry_main.execsql;
      except
          excelapp.workbooks.close;
          excelapp.quit;
          finalize(excelsheet);
          finalize(excelbook);
          finalize(excelapp);
          exit;
      end;

      panel1.caption := '엑셀 데이타를 읽어오는 중입니다.(총 읽은 수 : '+inttostr(i-1)+')';

      i := i +1;

   end;

        panel1.caption := '엑셀 데이타를 읽기를 완료했습니다.(총 읽은 수 : '+inttostr(i-2)+')';

   excelbook.close;
   excelapp.quit;
   finalize(excelsheet);
   finalize(excelbook);
   finalize(excelapp);

end;
0  COMMENTS