문제

나는 제 3 자를 생성하는 도구는 xml 스프레드시트(*.xls).내가 다른 프로그램를 읽는 이 spreasheet 및 처리합니다.의 내용을 생성된 xml 스프레드시트는 테이블과 함께 5 열고 내 프로그램을 실행에 대한 쿼리를 선택합니다.요 문제에 직면하고 있는 동안 연결을 열 생성된 스프레드시트에서도 합니다.그것이 말하는"{"외부 테이블에서 예상되는 형식입니다."}".내 Connectin 문자열은"공급자=Microsoft.Jet.문자열.4.0;데이터 원본="+excelFileName+";확장 속성을=\"Excel8.0;HDR=YES;\"";나는 아무것도 변경할 필요가 이 문자열?용 데이터세트를 호출합니다.ReadXml(excelFileName);하지만 데이터 집합 없이 있습니다.모든 입력에서 읽는 방법 xml 스프레드시트?

시간 내주셔서 감사합니다, CS

도움이 되었습니까?

해결책

구형 바이너리 형식 Excel 파일에 대해 연결 문자열이 설정된 것 같습니다. XML에 대해 다른 연결 문자열을 원합니다. New Excel 2007 XML 파일에 대해 이야기하고 있다면이 문제가 필요합니다. 연결 문자열:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

Excel 2003에 나온 구형 XML 형식에 대해 이야기하고 있다면 연결 문자열이 있는지 확실하지 않습니다. 이 경우 가장 좋은 방법은 Excel에서 열린 다음 XLS 파일로 저장하고 원래 사용중인 연결 문자열을 사용하는 것입니다.

그런데, Connectionstrings.com 모든 종류의 데이터에 액세스 해야하는 오래된 연결 문자열을 찾을 수있는 좋은 장소입니다.

또한 다른 사람들이 언급했듯이 XML 파일 인 경우 XLS 파일 확장자가 없어야한다면 .xml 또는 .xlsx 여야합니다.

다른 팁

               Excel.Workbook wb1;

            Excel.Application wb2 = new Excel.Application();

            wb2.DisplayAlerts = false;
                           wb1 = (Excel.Workbook)wb2.Workbooks._Open(filename);

            if (wb1.FileFormat == Excel.XlFileFormat.xlXMLSpreadsheet)
            {
                                    wb1.SaveAs(filename, Excel.XlFileFormat.xlExcel12, Type.Missing, Type.Missing,
                        false, false, Excel.XlSaveAsAccessMode.xlNoChange,
                       Excel.XlSaveConflictResolution.xlOtherSessionChanges, false);
            }
            else
            {
                wb2.Workbooks.Close();

            }

변환할 수 있습니다 Excel 스프레드시트를 2007 형식을 사용하여 다음 LinQ 를 쿼리할 시트를 사용하여 어떤 오픈 소스 공급자 또는 문자열.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top