トップ回答者
microsoft.ace.oledb.12.0 新しいブックとテーブルの作成について

質問
-
ASP.NETで開発しています。
Excel 2003 のブックファイル内にテーブルを作成する為に、Microsoft.Jet.OLEDB.4.0を利用した場合には
作成できたのですが、動作環境拡張(64ビット)の為に、Microsoft.ACE.OLEDB.12.0を利用することになりました。
ところが動作確認したところファイルは作成されるのですが、ファイルを開こうとすると、”このファイルの形式を認識できません”
のようなメッセージが表示されます。
色々原因を調べたのですが、解決には至っておりません。
ご教授お願い致します。
ソースは以下のように実装しています。
※DB接続文字列の設定が”c”の場合にメッセージが表示されます。
Dim b As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.xls;Extended Properties=""Excel 8.0;HDR=YES"""Dim c As String = _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.xls;Extended Properties=""Excel 12.0;HDR=YES"""
' 戻り値
Dim sbSQL As New StringBuilderUsing con As New OleDbConnection
Try
con.ConnectionString = b
'con.ConnectionString = c
con.Open()'カラム名の設定
With sbSQL
.Remove(0, .Length)
.AppendLine("CREATE TABLE [TABLE] ( ").AppendLine("ID" & " " & "CHAR(255), ")
.AppendLine("CD" & " " & "CHAR(255), ")
.AppendLine("USER_ID" & " " & "CHAR(255), ")
.AppendLine("FLG" & " " & "CHAR(255) ").AppendLine(") ")
End With
Using cmd As New OleDbCommand(sbSQL.ToString, con)
cmd.ExecuteNonQuery()
End UsingCatch ex As Exception
Throw New RWException(ex.Message, ex)
Finally
Try
'コネクションの切断
con.Close()
Catch ex As Exception
'コネクションの切断
con.Close()
Throw New RWException(ex.Message, ex)
End Try
End TryEnd Using