c# - 如何使用 openxml 和 C# 在 Excel 工作表中获取范围

标签 c# excel c#-4.0

我必须读取 Excel(.xlsx) 文件。我正在使用 OpenXML NuGet pkg。 我正在尝试获取范围 (xlRange),因此我可以从特定单元格中获取数据。但没有获得成功。此代码是在控制台环境中创建的。

static void Main(string[] args)
{    
    bool flagDataError = false;
    string sDuplicateRows = string.Empty;
    string sCreatedRows = string.Empty;
    string sFileTypeError = string.Empty;
    string filepath = @"C:\test.xlsx";
    var fileName = Path.GetFileName(filepath);
    var fileExtension = Path.GetExtension(filepath);
    if ((fileExtension != ".xlsx") && (fileExtension != ".xls"))
        sFileTypeError = "Invalid file. \n\nPlease browse a correct Excel file to upload.";
    else
    {          
        using (SpreadsheetDocument doc = SpreadsheetDocument.Open(filepath, false))
        {
            WorkbookPart workbookPart = doc.WorkbookPart;
            WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
            SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();


            List<AxisData> data = new List<AxisData>();
            for (int i = 5; i <= 16; i++)
            {
                for (int j = 2; j <= 13; j++)
                {
                    AxisData axisDetails = new AxisData();
                    axisDetails.ProductCode = "AXIS " + xlRange.Cells[i, 1].Value;
                    axisDetails.ContractPeriod = Convert.ToDateTime(xlRange.Cells[4, j].Value);
                    axisDetails.SettlePrice = Convert.ToDecimal(xlRange.Cells[i, j].Value);
                    axisDetails.EffectiveStartDate = efectiveStartDate;
                }
                }
            }
        }
    }
}
}

最佳答案

IEnumerable<Row> ShRows = sheetData.Elements<Row>();

var _RCount = SHRows.Count();

关于c# - 如何使用 openxml 和 C# 在 Excel 工作表中获取范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46605462/

相关文章:

c# - 哪个最适合中级 php 程序员开始编程(java vs c#)

python - 如何将 Pandas 数据框附加到 Excel 工作表

vba - 处理vba中的可见单元格

excel - 定义一系列单元格。像 Shift + 单击

c# - 将对象变量中保存的字符串分配给动态 (C#) 的字符串属性

c# - C#中的自定义数字系统

c# - 为什么 C# 没有相当于 python 的 doctest 功能?

c# - 项目列表中每个项目的最大值

c# - 如何防止重命名所有类,dotfuscator 中的接口(interface)

asp.net - 我如何从Ajax调用Web API Controller