質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

1回答

948閲覧

OLEDB で EXCEL更新

wolf2

総合スコア19

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2018/01/10 03:03

編集2018/01/10 03:04

test1 test2 test3 test4 test5
a a a a a
a a a a a
a a a a a
a a a a a
a a a a a
a a a a a

という構造のEXCELが名前testで定義されており
このEXCELを以下の通り更新したいのですが、パラメーターエラーが出ます。

using System; using System.Data; using System.Data.OleDb; public partial class ExcelWriter : System.Web.UI.Page { public string exceptions { get; set; } public string exceptions2 { get; set; } public ExcelWriter() { exceptions = ""; exceptions2 = ""; } protected void Page_Load(object sender, EventArgs e) { DataTable dTable = new DataTable(); string path = "C:/Users/user/Desktop/test.xlsx"; string ocnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + "; Extended Properties=" + "\"Excel 12.0;HDR=NO;\""; string strSQL = " UPDATE [sheet1$] SET 'test1' = 'b' ;"; OleDbCommand oCom = new OleDbCommand(); OleDbConnection ocn = new OleDbConnection(); ocn.ConnectionString = ocnStr; ocn.Open(); oCom.Connection = ocn; oCom.CommandText = strSQL; try { oCom.ExecuteNonQuery(); } catch (OleDbException exception) { for (int i = 0; i < exception.Errors.Count; i++) { exceptions = exception.Errors[i].ToString(); exceptions2 = exception.Errors[i].SQLState.ToString(); } } ocn.Close(); } }

どうすれば解決するでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/01/10 05:35

まずエラーメッセージを記載してください。行番号があるならそれがソースのどこに対応するかも書いてください。
wolf2

2018/01/10 06:27

すいません、上記の更新問題は一応解決しました。次に疑問なのですが、UPDATE [test] SET B8 = 'test'";のように更新をかけるセルを指定する事は可能なのでしょうか。名前範囲の特定のセルを更新したいのですが、上記と同じ{1 つ以上の必要なパラメーターの値が設定されていません。}が出ます。
Zuishin

2018/01/10 06:35

まず同じ問題で困っている人のために解決した方法を自己解決として書いてください。そして新しい質問を立て、この質問を読んでいない人にもわかるようエラーメッセージなども正確に書いてください。
guest

回答1

0

自己解決

一旦自己解決しました。
EXCELに対してのテーブルとフィールドの指定が
間違っていただけでした。

投稿2018/01/10 10:35

wolf2

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問