簡體   English   中英

如何使用OpenXML和C#在Excel工作表中獲取范圍

[英]how to get range in excel sheet using openxml and c#

我必須閱讀Excel(.xlsx)文件。 我正在使用OpenXML NuGet pkg。 我正在嘗試獲取range( 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM