- PR -

セル指定し中に入ってるデータを抽出する方法。

投稿者投稿内容
かさのば
会議室デビュー日: 2007/01/15
投稿数: 12
投稿日時: 2007-06-12 20:15
引用:

オウドーさんの書き込み (2007-06-12 14:37) より:
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//パス取得及びファイル名取得。
string Name = openFileDialog1.FileName;
string n = Path.GetFullPath(Name);
string nn = Path.GetFileName(n);

DataRow rb;


//Excelのインスタンス。
Excel.Application exapp = new Excel.Application();

Excel.Workbooks ks = exapp.Workbooks;
//ブックを指定。
Excel.Workbook kd = ks.Open(n, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);


Excel.Sheets ss = kd.Worksheets;
//シート指定。
Excel.Worksheet st = (Excel.Worksheet)ss["sheet1"];
//セル指定しデータを取得。
for (int i = 11; i < 41; i++)
{
//行生成。
rb = this.workSystemDataSet1.DataTable1.NewRow();

//日付列(セル指定)
Excel.Range rng = exapp.get_Range("A" + i, Missing.Value);

rb[0] = rng.Text;



// 区分番号
Excel.Range rng1 = exapp.get_Range("C" + i, Missing.Value);

rb[1] = rng1.Text;


this.workSystemDataSet1.DataTable1.Rows.Add(rb);

}




//this.textBox1.Text = rng.Value2.ToString();



ks.Close();
exapp.Quit();
}

これから私と同じような境遇をした人へ。
私はここで教えてもらい上記のようなコードにたどり着きました。
参考にしてもらえれば幸いです。
遅れながらですが皆様ありがとうございました。



>>Excel.Range rng = exapp.get_Range("A" + i, Missing.Value);
Excel.Range rng = st.get_Range("A" + i, Missing.Value);
では?

オウドー
ベテラン
会議室デビュー日: 2007/06/05
投稿数: 59
投稿日時: 2007-06-13 12:13
引用:

かさのばさんの書き込み (2007-06-12 20:15) より:


>>Excel.Range rng = exapp.get_Range("A" + i, Missing.Value);
Excel.Range rng = st.get_Range("A" + i, Missing.Value);
では?





返答ありがとうございます。
私の作成したコードでデバックしてみるとアクティブなシートしか対応できてないようでした。かさのばさんのご指摘にて修正することができました。
ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)