Exportera data från arbetsblad i .NET

Översikt

Den här artikeln förklarar hur du exporterar dina arbetsbladsdata till en DataTable med hjälp av C#. Den täcker följande ämnen

Format: Excel

Format: XLS

Format: XLSX

Format: ODS

Hur man Exporterar Excel Data Med C#

Hur man Exporterar Data från Arbetsblad

Aspose.Cells underlättar inte bara för sina användare att importera data till arbetsblad från externa datakällor utan tillåter dem också att exportera sitt arbetsbokdata till en DataTable. Eftersom vi vet att DataTable är en del av ADO.NET och används för att hålla data. När datan är lagrad i en DataTable kan den användas på alla sätt enligt användarnas krav. Utvecklare kan också lagra denna data (lagrad i DataTable) direkt till en databas om de önskar. Så vi kan se att det blir enklare för utvecklare att manipulera arbetsbokdatan om den exporteras till en DataTable.

Hur man Exporterar Data till DataTable Med Aspose.Cells

Utvecklare kan enkelt exportera sin arbetsbokdata till en DataTable objekt genom att antingen anropa ExportDataTable eller ExportDataTableAsString metod av klassen Cells. Båda metoderna används i olika scenarier, vilket diskuteras nedan mer detaljerat.

Kolumner Innehållande Starkt Skriven Data

Vi vet att en kalkylblad lagrar data som en sekvens av rader och kolumner. Om alla värden i kolumnerna på ett kalkylblad är starkt skrivna (det betyder att alla värden i en kolumn måste ha samma datatyp) då kan vi exportera kalkylbladsinnehållet genom att anropa ExportDataTable metoden av klassen Cells. ExportDataTable metoden tar följande parametrar för att exportera kalkylbladsdata som en DataTable objekt:

  • Radnummer, radnumret för den första celldatan som kommer att exporteras från.
  • Kolumnnummer, kolumnnumret för den första cellen datan kommer att exporteras från.
  • Antal rader, antalet rader att exportera.
  • Antal kolumner, antalet kolumner att exportera.
  • Exportera kolumnnamn, en boolesk egenskap som anger om datan i den första raden på kalkylbladet bör exporteras som kolumnnamn för DataTable eller inte.

Steg: Exportera Data till DataTable

Kodsteg:

  1. Ladda din Excel-fil i Workbook-objektet.
    • Workbook-objekt kan läsa Excel-filformat som t.ex. XLS, XLSX, XLSM, ODS etc.
  2. Använd det första Worksheet-objektet i Excel-filen.
  3. Välj ditt exportområde t.ex. 7 rader och 2 kolumner som startar från 1:a cellen av DataTable.
  4. Använd ExportDataTable-metoden för att exportera data till DataTable.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Instantiating a Workbook object
Workbook workbook = new Workbook(filePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, 11, 2, true);
foreach (DataRow r in dataTable.Rows)
{
foreach (DataColumn c in dataTable.Columns)
{
Double value = r.Field<Double>(c);
Console.Write(value + " ");
}
Console.WriteLine();
}

Kolumner som innehåller icke-strongly typed data

Om alla värden i kolumnerna i ett kalkylblad inte är starkt typade (vilket innebär att värdena i en kolumn kan ha olika datatyper) kan vi exportera kalkylbladets innehåll genom att anropa ExportDataTableAsString-metoden i Cells-klassen. ExportDataTableAsString-metoden tar samma uppsättning parametrar som ExportDataTable-metoden för att exportera kalkylbladsdata som ett DataTable-objekt.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string filePath = dataDir + "Book1.xlsx";
// Instantiating a Workbook object
Workbook workbook = new Workbook(filePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Exporting the contents of 7 rows and 2 columns starting from 1st cell to DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 11, 2, true);
foreach (DataRow r in dataTable.Rows)
{
foreach (DataColumn c in dataTable.Columns)
{
string value = r.Field<string>(c);
Console.Write(value + " ");
}
Console.WriteLine();
}

Hur man exporterar intervall med rubrik

Data från ett intervall kan exporteras till DataTable där en flagga finns för att hoppa över rubrikraden i den exporterade datan. Följande kod exporterar ett datointervall till DataTable med ett argument ExportTableOptions som innehåller en ExportColumnName-flagga. Den är inställd på true om rubrikinformationen finns, och den kommer därför inte inkluderas i datan och inställd på false om ingen rubrik finns och alla rader ska betraktas som data.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string sourceDir = RunExamples.Get_SourceDirectory();
// Instantiating a Workbook object
Workbook workbook = new Workbook(sourceDir + "Names.xlsx");
// Instantiating a WorkbookDesigner object
WorkbookDesigner designer = new WorkbookDesigner(workbook);
// Accessing the range having name "Names"
var range = designer.Workbook.Worksheets.GetRangeByName("Names");
// Instantiating the ExportTableOptions object
ExportTableOptions options = new ExportTableOptions();
// Setting the ExportColumnName flag to true shows that first line is header and not part of data
options.ExportColumnName = true;
// Exporting data with the selected information
var dataTable = range.ExportDataTable(options);

Fortsatta ämnen