0

我的 Excel 工作表如下:

Id   Name  Status
1    XYZ
2    ABC
3    BB
1    Yz

我要做的是Checked在我的 C# 应用程序中写入 ID 为 1 的状态列。

我想通过 Linq to Excel 做到这一点。但我在这个方向上没有得到任何积极的东西。

任何人都可以正确指导我。

谢谢。

4

1 回答 1

2

您在这里不走运,因为 Linq-To-Excel 不写入电子表格(参考)。您唯一的选择是强输入查询,修改内存中的结果并将它们作为 .csv 保存到您的硬盘 - 或使用另一个 3rd 方库将更改写回 excel 文件。

public class Demo
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Status { get; set; }
}

string pathToExcelFile = @"path\to\file.xslx";  
string sheetName = "Tabelle1";

var excelFile = new ExcelQueryFactory(pathToExcelFile);
    //strongly type the result
Demo rowToUpdate = (from xc in excelFile.Worksheet<Demo>(sheetName) 
                   where xc.ID == 1
                   select xc).FirstOrDefault();
    //update retrieved record
rowToUpdate.Status = "Active";
    //output in linqpad
rowToUpdate.Dump();
    //no submitchanges or save method available :(
于 2014-03-04T07:44:07.833 回答