我用c sharp写了一段代码。它是一个控制台应用程序。我有一个带有一些数字数据的excel文件。我的应用程序读取excel文件并通过消息框显示每个单元格中的数据。例如,如果第一个单元格数据为5,则消息框显示5.当我在消息框中单击“确定”按钮时,消息框将显示下一个单元格中的下一个数据。
我希望将来自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());
}
}
}
}
}
答案 0 :(得分:0)
您可能需要创建一个类型类型的集合,或者您可能必须编写自定义类型,就像可以保存您想要从Excel中读取数据的类一样。
在for循环中,实例化集合或自定义类型,读取数据并将其输入集合/自定义类型。
答案 1 :(得分:0)
其中一种方法是创建一个像这样的类
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);
}
}
然后,您可以通过列表进行搜索,并根据行列
找到所需的特定值