目次
" >
System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory);
ログイン後にコピー
Excelファイルの作成とデータのExcelファイルへのエクスポートを行うC#のサンプルコードの詳細説明(画像)
ツールマテリアル:
Windows 7、Visual Studio 2010、Microsoft Office 2007
ソリューションの作成
メニュー》新規》プロジェクト》Windows Formsアプリケーション:
関連コンポーネントの追加:
2つのDataGridView、TextBoxを追加、以下に示す 2 つのボタン:
C# ここで、事前に作成された Excel ファイルが実際にリソースから抽出されます。 、OleDb メソッドを使用して Excel に接続し、データを Excel ファイルに書き込みます。
string excelPath = AppDomain.CurrentDomain.BaseDirectory + "Excel" + DateTime.Now.Ticks + ".xlsx";
if (System.IO.File.Exists(excelPath))
{
textBox1.Text += ("文件已经存在!");
return;
}
try
{
//从资源中提取Excel文件
System.IO.FileStream fs = new System.IO.FileStream(excelPath, FileMode.OpenOrCreate);
fs.SetLength(0);
fs.Write(Properties.Resources.Excel, 0, Properties.Resources.Excel.Length);
fs.Close();
fs.Dispose();
textBox1.Text = "提取Excel文件成功!" + "\r\n";
}
catch (System.Exception ex)
{
excelPath = string.Empty;
textBox1.Text += ("提取Excel文件失败:" + ex.Message);
textBox1.Text += ("\r\n");
Application.DoEvents();
return;
}
ログイン後にコピー
接続文字列を定義しますstring excelPath = AppDomain.CurrentDomain.BaseDirectory + "Excel" + DateTime.Now.Ticks + ".xlsx"; if (System.IO.File.Exists(excelPath)) { textBox1.Text += ("文件已经存在!"); return; } try { //从资源中提取Excel文件 System.IO.FileStream fs = new System.IO.FileStream(excelPath, FileMode.OpenOrCreate); fs.SetLength(0); fs.Write(Properties.Resources.Excel, 0, Properties.Resources.Excel.Length); fs.Close(); fs.Dispose(); textBox1.Text = "提取Excel文件成功!" + "\r\n"; } catch (System.Exception ex) { excelPath = string.Empty; textBox1.Text += ("提取Excel文件失败:" + ex.Message); textBox1.Text += ("\r\n"); Application.DoEvents(); return; }
ログイン後にコピー
//定义OleDB连接字符串
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + ";
Extended Properties='Excel 12.0; HDR=yes; IMEX=10'";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = strConn;
ログイン後にコピー
注: 接続内の IMEX の値string が 10 で、 1 または 2 の場合、 Insert Into ステートメントを実行すると、「//定义OleDB连接字符串 string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + "; Extended Properties='Excel 12.0; HDR=yes; IMEX=10'"; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = strConn;
ログイン後にコピー
操作では更新可能なクエリを使用する必要があります」というエラーが報告されます。
dataGridView1 に Excel ファイル内のすべてのテーブルの情報を表示します DataTable oleDt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
dataGridView1.DataSource = oleDt;
dataGridView1.Show();
ログイン後にコピー
Excel テーブルにアクセスするときは、テーブル名の後に「$」記号を追加する必要があります。列名DataTable oleDt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); dataGridView1.DataSource = oleDt; dataGridView1.Show();
ログイン後にコピー
OleDbCommand cmd = null;
try
{
//向"Sheet1"表中插入几条数据,访问Excel的表的时候需要在表名后添加"$"符号,Insert语句可以不指定列名
cmd = new OleDbCommand("Insert Into [Sheet1$] Values('abc', 'bac', '0', '123456', 'test','测试','aa')", conn);//(A,B,C,D,E,F,G)
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
textBox1.Text += ("插入数据失败:" + ex.Message);
textBox1.Text += ("\r\n");
}
ログイン後にコピー
はdataGridView2のテーブル「Sheet1」の内容を表示するため、Insert文の指定は必要ありませんOleDbCommand cmd = null; try { //向"Sheet1"表中插入几条数据,访问Excel的表的时候需要在表名后添加"$"符号,Insert语句可以不指定列名 cmd = new OleDbCommand("Insert Into [Sheet1$] Values('abc', 'bac', '0', '123456', 'test','测试','aa')", conn);//(A,B,C,D,E,F,G) cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery(); cmd.ExecuteNonQuery(); } catch (System.Exception ex) { textBox1.Text += ("插入数据失败:" + ex.Message); textBox1.Text += ("\r\n"); }
ログイン後にコピー
cmd = new OleDbCommand("Select * From [Sheet1$]", conn);
OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
adp.Fill(ds);
dataGridView2.DataSource = ds.Tables[0];
ログイン後にコピー
Traverseの後にExcelテーブルにアクセスする場合は「$」記号を追加する必要があります。スキーマの内容cmd = new OleDbCommand("Select * From [Sheet1$]", conn); OleDbDataAdapter adp = new OleDbDataAdapter(cmd); DataSet ds = new DataSet(); adp.Fill(ds); dataGridView2.DataSource = ds.Tables[0];
ログイン後にコピー
DataTable dt = conn.GetSchema();
for (int i = 0; i < dt.Columns.Count; i++)
{
textBox1.Text += dt.Columns[i].Caption;
if (i + 1 < dt.Columns.Count)
{
textBox1.Text += ",";
}
}
for (int j = 0; j < dt.Rows.Count; j++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Rows[j][dt.Columns[i]] != null)
{
textBox1.Text += dt.Rows[j][dt.Columns[i]].ToString();
}
else
{
textBox1.Text += "null";
}
if (i + 1 < dt.Columns.Count)
{
textBox1.Text += ",";
}
}
textBox1.Text += ("\r\n");
}
ログイン後にコピー
Excel データ接続を閉じるDataTable dt = conn.GetSchema(); for (int i = 0; i < dt.Columns.Count; i++) { textBox1.Text += dt.Columns[i].Caption; if (i + 1 < dt.Columns.Count) { textBox1.Text += ","; } } for (int j = 0; j < dt.Rows.Count; j++) { for (int i = 0; i < dt.Columns.Count; i++) { if (dt.Rows[j][dt.Columns[i]] != null) { textBox1.Text += dt.Rows[j][dt.Columns[i]].ToString(); } else { textBox1.Text += "null"; } if (i + 1 < dt.Columns.Count) { textBox1.Text += ","; } } textBox1.Text += ("\r\n"); }
ログイン後にコピー
if (conn.State != ConnectionState.Closed)
{
try
{
conn.Close();
}
catch (System.Exception ex)
{
textBox1.Text += ("关闭Excel数据连接:" + ex.Message);
textBox1.Text += ("\r\n");
}
}
ログイン後にコピー
ファイルディレクトリを開くif (conn.State != ConnectionState.Closed) { try { conn.Close(); } catch (System.Exception ex) { textBox1.Text += ("关闭Excel数据连接:" + ex.Message); textBox1.Text += ("\r\n"); } }
ログイン後にコピー
System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory);
ログイン後にコピー
System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory);
ログイン後にコピー
以上がExcelファイルの作成とデータのExcelファイルへのエクスポートを行うC#のサンプルコードの詳細説明(画像)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
Atomfallのクレーンコントロールキーカードを見つける場所
1週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7444
15


CakePHP チュートリアル
1371
52


Steamのアカウント名の形式は何ですか
76
11


NYTの接続はヒントと回答です
9
6



C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。
