当前位置: 首页>>代码示例>>C#>>正文


C# Worksheet.SkipFirstRow方法代码示例

本文整理汇总了C#中Worksheet.SkipFirstRow方法的典型用法代码示例。如果您正苦于以下问题:C# Worksheet.SkipFirstRow方法的具体用法?C# Worksheet.SkipFirstRow怎么用?C# Worksheet.SkipFirstRow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Worksheet的用法示例。


在下文中一共展示了Worksheet.SkipFirstRow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExtractRowsData

        ///// <summary>
        ///// Abre un archivo xlsx y extrae la información de una hoja de excel para convertirla 
        ///// en una lista de objetos expandos usando la función 
        ///// ExtractRowsData(data, worksheet, ssTable, cellFormats);
        ///// </summary>
        ///// <param name="workSheet"> Índice cero de la columna de Excel. </param>
        ///// <returns> Una lista con objetos expandos. </returns>
        ///// <exception cref="System.IO.IOException">Excepción lanzada cuando el archivo de Excel 
        ///// está siendo usado por otro proceso.</exception>
        //public static List<ExpandoObject> GetSpreadsheetData(string workSheet, string filePath)
        //{
        //    List<ExpandoObject> data = new List<ExpandoObject>();

        //    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filePath, false))
        //    {
        //        IEnumerable<Sheet> sheets = spreadsheetDocument.WorkbookPart.Workbook.Descendants<Sheet>();
        //        WorksheetPart worksheetPart = (WorksheetPart)spreadsheetDocument.WorkbookPart.GetPartById(sheets.First().Id);
        //        Worksheet worksheet = worksheetPart.Worksheet;
        //        SharedStringTablePart sstPart = spreadsheetDocument.WorkbookPart.GetPartsOfType<SharedStringTablePart>().FirstOrDefault();
        //        SharedStringTable ssTable = null;
        //        if (sstPart != null)
        //            ssTable = sstPart.SharedStringTable;

        //        WorkbookStylesPart workbookStylesPart = spreadsheetDocument.WorkbookPart.GetPartsOfType<WorkbookStylesPart>().First();
        //        CellFormats cellFormats = (CellFormats)workbookStylesPart.Stylesheet.CellFormats;

        //        ExtractRowsData(data, worksheet, ssTable, cellFormats);
        //    }

        //    return data;
        //}

        /// <summary>
        /// Obtener informacion de una hoja de Excel asumiendo que en la primera fila se nombran las columnas 
        /// y que el resto de las filas contiene información asociada al nombre de las columnas
        /// </summary>
        /// <param name="data">La lista de objetos expando que guardará toda la información que se extraiga
        /// de la tabla.</param>
        /// <param name="worksheet">El nombre de la hoja de Excel.</param>
        /// <param name="ssTable">La tabla de cadenas compartidas del archivo xlsx en el cual se encuentra 
        /// la hoja de Excel de la que se extraerán los datos.</param>
        /// <param name="cellFormats">El formato de celdas.</param>
        private static void ExtractRowsData(List<ExpandoObject> data, Worksheet worksheet, SharedStringTable ssTable, CellFormats cellFormats)
        {
            var columnHeaders = worksheet.FirstRow().Descendants<Cell>().Select(c => Convert.ToString(ProcessCellValue(c, ssTable, cellFormats))).ToArray();
            var columnHeadersCellReference = worksheet.FirstRow().Descendants<Cell>().Select(c => c.CellReference.InnerText.Replace("1", string.Empty)).ToArray();

            var spreadsheetData = worksheet.SkipFirstRow();

            int dataRowIndex = 2;
            foreach (var dataRow in spreadsheetData)
            {
                dynamic row = new ExpandoObject();
                Cell[] rowCells = dataRow.Descendants<Cell>().ToArray();
                for (int i = 0; i < columnHeaders.Length; i++)
                {
                    // Selecciona y agrega la celda correcta al archivo de la fila.
                    Cell cell = dataRow.Descendants<Cell>().Where(c => c.CellReference == columnHeadersCellReference[i] + dataRow.RowIndex).FirstOrDefault();
                    if (cell != null)
                        ((IDictionary<String, Object>)row).Add(new KeyValuePair<String, Object>(dataRowIndex + "," + i, ProcessCellValue(cell, ssTable, cellFormats)));
                }
                data.Add(row);
                ++dataRowIndex;
            }
        }
开发者ID:asanchez128,项目名称:ExportExcel,代码行数:65,代码来源:ExportExcelDocument.cs


注:本文中的Worksheet.SkipFirstRow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。