public DataSet AsDataSet(bool convertOADateTime) { if (!m_isValid) { return(null); } if (m_isClosed) { return(m_workbookData); } ConvertOaDate = convertOADateTime; m_workbookData = new DataSet(); for (int index = 0; index < ResultsCount; index++) { DataTable table = readWholeWorkSheet(m_sheets[index]); if (null != table) { m_workbookData.Tables.Add(table); } } m_file.Close(); m_isClosed = true; m_workbookData.AcceptChanges(); m_workbookData.FixDataTypes(); return(m_workbookData); }
private System.Data.DataSet ReadDataSet() { DataSet dataset = new DataSet(); var demensionDict = DetectDemension(); for (int sheetIndex = 0; sheetIndex < m_workbook.Sheets.Count; sheetIndex++) { var sheet = m_workbook.Sheets[sheetIndex]; var table = new DataTable(m_workbook.Sheets[sheetIndex].Name); ReadSheetGlobals(sheet); sheet.Dimension = demensionDict[sheetIndex]; if (sheet.Dimension == null) { continue; } m_depth = 0; m_emptyRowCount = 0; // Reada Columns //Console.WriteLine("Read Columns"); if (!m_isFirstRowAsColumnNames) { // No Sheet Columns //Console.WriteLine("SheetName:{0}, ColumnCount:{1}", sheet.Name, sheet.ColumnsCount); for (int i = 0; i < sheet.ColumnsCount; i++) { table.Columns.Add(null, typeof(Object)); } } else if (ReadSheetRow(sheet)) { // Read Sheet Columns //Console.WriteLine("Read Sheet Columns"); for (int index = 0; index < m_cellsValues.Length; index++) { if (m_cellsValues[index] != null && m_cellsValues[index].ToString().Length > 0) { table.AddColumnHandleDuplicate(m_cellsValues[index].ToString()); } else { table.AddColumnHandleDuplicate(string.Concat(COLUMN, index)); } } } else { continue; } // Read Sheet Rows //Console.WriteLine("Read Sheet Rows"); table.BeginLoadData(); //Console.WriteLine("SheetIndex Is:{0},Name:{1}",sheetIndex,sheet.Name); while (ReadSheetRow(sheet)) { table.Rows.Add(m_cellsValues); } if (table.Rows.Count > 0) { dataset.Tables.Add(table); } // Read HyperLinks //Console.WriteLine("Read Sheet HyperLinks:{0}",table.Rows.Count); ReadHyperLinks(sheet, table); table.EndLoadData(); } dataset.AcceptChanges(); dataset.FixDataTypes(); return(dataset); }
public DataSet AsDataSet(bool convertOADateTime) { if (!m_isValid) return null; if (m_isClosed) return m_workbookData; ConvertOaDate=convertOADateTime; m_workbookData=new DataSet(); for (int index=0; index<ResultsCount; index++) { DataTable table=readWholeWorkSheet(m_sheets[index]); if (null!=table) m_workbookData.Tables.Add(table); } m_file.Dispose(); m_isClosed=true; m_workbookData.AcceptChanges(); m_workbookData.FixDataTypes(); return m_workbookData; }
private DataSet ReadDataSet() { var dataset = new DataSet(); Dictionary<int, XlsxDimension> demensionDict = DetectDemension(); for (int sheetIndex = 0; sheetIndex < m_workbook.Sheets.Count; sheetIndex++) { XlsxWorksheet sheet = m_workbook.Sheets[sheetIndex]; var table = new DataTable(m_workbook.Sheets[sheetIndex].Name); ReadSheetGlobals(sheet); sheet.Dimension = demensionDict[sheetIndex]; if (sheet.Dimension == null) { continue; } m_depth = 0; m_emptyRowCount = 0; // Reada Columns if (!m_isFirstRowAsColumnNames) { // No Sheet Columns for (int i = 0; i < sheet.ColumnsCount; i++) { table.Columns.Add(i.ToString(CultureInfo.InvariantCulture), typeof(Object)); } } else if (ReadSheetRow(sheet)) { // Read Sheet Columns Debug.Assert(m_cellsValues!=null); for (int index = 0; index < m_cellsValues.Length; index++) { if (m_cellsValues[index] != null && m_cellsValues[index].ToString().Length > 0) { table.AddColumnHandleDuplicate(m_cellsValues[index].ToString()); } else { table.AddColumnHandleDuplicate(string.Concat(COLUMN, index)); } } } else { continue; } // Read Sheet Rows table.BeginLoadData(); while (ReadSheetRow(sheet)) { table.Rows.Add(m_cellsValues); } if (table.Rows.Count > 0) { dataset.Tables.Add(table); } // Read HyperLinks ReadHyperLinks(sheet, table); table.EndLoadData(); } dataset.AcceptChanges(); dataset.FixDataTypes(); return dataset; }