0
이 주제에 대한 다른 스레드의 일부를 읽었지만 여전히 작동하지 않습니다. 이유를 모르겠습니다.C#은 사무실에서 unsing하지 않고 워크 시트를 얻습니다. OLEDB
예외가 있습니다. 'Microsoft.ACE.OLEDB.12.0'- 공급자가 로컬 컴퓨터에 등록되지 않았습니다. Office 2007 및 2010 용 데이터베이스 엔진을 이미 설치했습니다.
아이디어가 있습니까?
OS : 7 승 교수 64 비트
static void Main(string[] args)
{
OleDbConnection connection = null;
DataTable Sheets = null;
String file = args[0];
String filePath = Path.GetDirectoryName(args[0]);
String connPath = "";
if(Path.GetExtension(file).Equals(".xls"))
connPath = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + file + ";Extended Properties=Excel 8.0";
else
connPath = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"";
try
{
connection = new OleDbConnection(connPath);
connection.Open();
Sheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
...
이것은 귀하의 질문에 대한 직접적인 대답은 아니지만, 보시다시피, OLEDB 사용에는 많은 한계가 있습니다. 사무실 파일을 완벽하게 제어하려면 (openmml sdk : https://msdn.microsoft.com/en-us/library/office/bb448854.aspx?f=255&MSPPError=- 2147217396 –