OpenXML在给定的列中连续插入文本

时间:2019-03-14 19:39:53

标签: c# excel openxml

如何在OpenXML中的特定地址的给定单元格中插入字符串值? 例如:我想在Excel电子表格的“ AC”列中插入“ Hello World”。 我有一个包含excel行数据的字典列表,并且正在执行以下操作。

SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
        int rowindex = 2;
        foreach (Dictionary<string,string> _row in _ExcelRows)
        {
            Row row = new Row();
            row.RowIndex = (uint)rowindex;
            sheetData.Append(row);
            foreach (KeyValuePair<string,string> pair in _row)
            {
                string CellAddressForCurrentAttribute = string.Empty;
                if (_ExcelToCoeusMap.ContainsValue(pair.Key))
                {
                    KeyValuePair<string, string> kvp = _ExcelToCoeusMap.Where(x => x.Value == pair.Key).FirstOrDefault();
                    if (_ExcelColumnsAddressMap.ContainsValue(kvp.Key))
                        CellAddressForCurrentAttribute = _ExcelColumnsAddressMap.Where(y => y.Value == kvp.Key).FirstOrDefault().Key;

                    Cell cell = row.Elements<Cell>().Where(c => c.CellReference.Value.Equals(CellAddressForCurrentAttribute,StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
                    cell.CellValue = new CellValue(pair.Value);
                }
            }
            rowindex++;

我的第1行和第2行将包含一些标题信息,数据行从3开始(索引2) 我正确地填充了CellAddressForCurrentAttribute中的单元格地址,但是当我点击row.Elements<Cell>().Where(c => c.CellReference.Value.Equals(CellAddressForCurrentAttribute,StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();时 返回null。 不知道我在这里想念什么

0 个答案:

没有答案