在MVVM Light中,Model中创建一个类,该类拥有16个属性,然后使用NPOI遍历某一excel表,分别得出16个数据,然后将这16个数据写入到Model创建的类中。
时间: 2024-02-23 14:58:07 浏览: 18
你可以通过以下步骤来实现:
1. 在Model中创建一个类,该类拥有16个属性,例如:
```csharp
public class MyData
{
public string Prop1 { get; set; }
public int Prop2 { get; set; }
//...
public double Prop16 { get; set; }
}
```
2. 使用NPOI读取Excel表中的数据,例如:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
public List<MyData> ReadExcel(string filePath)
{
List<MyData> dataList = new List<MyData>();
using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
var workbook = new XSSFWorkbook(stream);
var sheet = workbook.GetSheetAt(0);
for (int i = 1; i <= sheet.LastRowNum; i++)
{
var row = sheet.GetRow(i);
var data = new MyData();
// 读取每一列数据并赋值到data对象的对应属性中
data.Prop1 = row.GetCell(0).ToString();
data.Prop2 = Convert.ToInt32(row.GetCell(1).ToString());
//...
data.Prop16 = Convert.ToDouble(row.GetCell(15).ToString());
dataList.Add(data);
}
return dataList;
}
}
```
3. 将读取到的数据写入到Model创建的类中,例如:
```csharp
var dataList = ReadExcel("path/to/excel");
foreach (var data in dataList)
{
var myData = new MyData();
myData.Prop1 = data.Prop1;
myData.Prop2 = data.Prop2;
//...
myData.Prop16 = data.Prop16;
// 将myData对象加入到ViewModel中的一个ObservableCollection中
MyDataList.Add(myData);
}
```
这样就完成了将Excel表中的数据读取到Model类中的操作。