0

Cシャープでコードを書きました。コンソールアプリケーションです。数値データを含む Excel ファイルがあります。私のアプリケーションはExcelファイルを読み取り、メッセージボックスを介して各セルにデータを表示します。たとえば、最初のセルのデータが 5 の場合、メッセージ ボックスには 5 が表示されます。メッセージ ボックスで [OK] ボタンをクリックすると、メッセージ ボックスには次のセルから次のデータが表示されます。

Excelファイルから読み取ったデータを何らかの変数に保存して、要件に応じて加算や乗算などのさらなる操作に使用できるようにしたいと考えています。どうすればいいですか?どんな助けも大いに役立ちます。

私のコードを投稿する

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Drawing;
using System.ComponentModel;
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:/A.xlsx");
            Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
            Excel.Range xlRange = xlWorksheet.UsedRange;
            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;
            for (int i = 1; i <= rowCount; i++)
            {
                for (int j = 1; j <= colCount; j++)
                {
                    MessageBox.Show(xlRange.Cells[i, j].Value2.ToString());
                }
            }
        }
    }
}
4

2 に答える 2

1

それを行う方法の1つは、このようなクラスを作成することです

public class MyData
{
    public int column { get; set; }
    public int row { get; set; }
    public string data { get; set; }

}


 List<MyData> listdata = new List<MyData>();
         for (int i = 1; i <= rowCount; i++)
            {
                for (int j = 1; j <= colCount; j++)
                {
                    MyData mdata = new MyData();
                    MessageBox.Show(xlRange.Cells[i, j].Value2.ToString());
                    mdata.column=j;
                    mdata.row=i;
                    mdata.data=xlRange.Cells[i, j].Value2.ToString();
                    listdata.Add(mdata);
                }
            }

次に、リストを検索して、行の列に基づいて必要な特定の値を見つけることができます

于 2012-06-14T06:37:48.930 に答える
0

タイプのタイプのコレクションを作成する必要がある場合や、Excel から読み取りたいデータを保持できるクラスのようにカスタム タイプを記述する必要がある場合があります。

for ループで、コレクションまたはカスタム タイプをインスタンス化し、データを読み取り、コレクション/カスタム タイプにフィードします。

于 2012-06-14T06:21:56.133 に答える