快捷搜索:  汽车  科技

如何用c语言打开excel:C 导出

如何用c语言打开excel:C 导出数据表导出到 Excel将数据导出到 Excel, Essential XlsIO 提供了以下方法:以下为译文:Syncfusion Excel (XlsIO) 库是一个 .Net Excel 库,它支持用户用 C# 和 VB.NET 以一个非常简易的方式,将各种数据源(如数据表,数组,对象集合,数据库,CSV / TSV,和微软网格控件等)数据导出到 Excel 。将数据导出到 Excel 可以以更容易理解的方式可视化数据。该特性有助于生成财务报告、银行报表和发票,同时还支持筛选大数据、验证数据、格式化数据等。

【CSDN 编者按】C# 导出 Excel 的6种简单方法:数据表导出到 Excel,对象集合导出到 Excel,数据库导出到 Excel,微软网格控件导出到 Excel,数组导出到 Excel,csv 导出到 Excel,你都会了吗?

如何用c语言打开excel:C  导出(1)

作者 | Johnson Manohar

译者 | 谭开朗,责编 | 黄浩然

出品 | CSDN(ID:CSDNnews)

以下为译文:

Syncfusion Excel (XlsIO) 库是一个 .Net Excel 库,它支持用户用 C# 和 VB.NET 以一个非常简易的方式,将各种数据源(如数据表,数组,对象集合,数据库,CSV / TSV,和微软网格控件等)数据导出到 Excel 。

将数据导出到 Excel 可以以更容易理解的方式可视化数据。该特性有助于生成财务报告、银行报表和发票,同时还支持筛选大数据、验证数据、格式化数据等。

将数据导出到 Excel, Essential XlsIO 提供了以下方法:

  • 数据表导出到 Excel

  • 对象集合导出到 Excel

  • 数据库导出到 Excel

  • 微软网格控件导出到 Excel

  • 数组导出到 Excel

  • CSV 导出到 Excel

在本文中,我们将研究这些方法以及如何执行它们。

如何用c语言打开excel:C  导出(2)

数据表导出到 Excel

ADO.NET 对象的数据(如 datatable 、datacolumn 和 dataview )可以导出到Excel 工作表。通过识别列类型或单元格值类型、超链接和大型数据集 可以在几秒钟内将其导出并作为列标头。

将数据表导出到 Excel 工作表可以通过 ImportDataTable 方法实现。下面的代码示例演示了如何将员工详细信息的数据表导出到 Excel 工作表。

using (ExcelEngine excelEngine = new ExcelEngine)

{

IApplication application = excelEngine.Excel;

application.DefaultVersion = ExcelVersion.Excel2016;

//Create a new workbook

IWorkbook workbook = application.Workbooks.Create(1);

IWorksheet sheet = workbook.Worksheets[0];

//Create a dataset from XML File

DataSet customersDataSet = new DataSet;

customersDataSet.ReadXml(Path.GetFullPath(@"../../Data/Employees.xml"));

//Create datatable from the dataset

DataTable dataTable = new DataTable;

dataTable = customersDataSet.Tables[0];

//Import data from the data table with column header at first row and first column

//and by its column type.

sheet.ImportDataTable(dataTable true 1 1 true);

//Creating Excel table or list object and apply style to the table

IListObject table = sheet.ListObjects.Create("Employee_PersonalDetails" sheet.UsedRange);

table.BuiltInTableStyle = TableBuiltInStyles.TableStyleMedium14;

//Autofit the columns

sheet.UsedRange.AutofitColumns;

//Save the file in the given path

Stream excelStream = File.Create(Path.GetFullPath(@"Output.xlsx"));

workbook.SaveAs(excelStream);

excelStream.Dispose;

}

如何用c语言打开excel:C  导出(3)

将数据表输出到Excel

在将大数据导出到 Excel 时,如果不需要应用数字格式和样式,可以将其中importOnSave 参数的值设为 TRUE,使用 ImportDataTable 方法重载。此时,导出数据与保存 Excel 文件是同时进行的。

使用此方法导出高性能的大数据。

value = instance.ImportDataTable(dataTable firstRow firstColumn importOnSave);

如果你有指定范围,并且希望将数据从指定范围的特定行和列导出到指定范围,那么可以使用下面的 API,其中 rowOffset 和 columnOffset 是要从指定范围中的特定单元导入的参数。

value = instance.ImportDataTable(dataTable namedRange showColumnName rowOffset colOffset);

如何用c语言打开excel:C  导出(4)

对象集合导出到 Excel

将对象集合中的数据导出到 Excel 工作表是常见的场景。但是,如果需要将数据从模板导出到 Excel 工作表,这个方法将非常有用。

Syncfusion Excel (XlsIO) 库支持将对象集合中的数据导出到 Excel 工作表。

我们可以通过 ImportData 方法将对象集合中的数据导出到 Excel 工作表。下面的代码示例演示了如何将数据从集合导出到 Excel 工作表。

using (ExcelEngine excelEngine = new ExcelEngine)

{

IApplication application = excelEngine.Excel;

application.DefaultVersion = ExcelVersion.Excel2016;

//Read the data from XML file

StreamReader reader = new StreamReader(Path.GetFullPath(@"../../Data/Customers.xml"));

//Assign the data to the customerObjects collection

IEnumerable customerObjects = GetData (reader.ReadToEnd);

//Create a new workbook

IWorkbook workbook = application.Workbooks.Create(1);

IWorksheet sheet = workbook.Worksheets[0];

//Import data from customerObjects collection

sheet.ImportData(customerObjects 5 1 false);

#region Define Styles

IStyle pageHeader = workbook.Styles.Add("PageHeaderStyle");

IStyle tableHeader = workbook.Styles.Add("TableHeaderStyle");

pageHeader.Font.RGBColor = Color.FromArgb(0 83 141 213);

pageHeader.Font.FontName = "Calibri";

pageHeader.Font.Size = 18;

pageHeader.Font.Bold = true;

pageHeader.HorizontalAlignment = ExcelHAlign.HAlignCenter;

pageHeader.VerticalAlignment = ExcelVAlign.VAlignCenter;

tableHeader.Font.Color = ExcelKnownColors.White;

tableHeader.Font.Bold = true;

tableHeader.Font.Size = 11;

tableHeader.Font.FontName = "Calibri";

tableHeader.HorizontalAlignment = ExcelHAlign.HAlignCenter;

tableHeader.VerticalAlignment = ExcelVAlign.VAlignCenter;

tableHeader.Color = Color.FromArgb(0 118 147 60);

tableHeader.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin;

tableHeader.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin;

tableHeader.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thin;

tableHeader.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thin;

#endregion

#region Apply Styles

//Apply style to the header

sheet["A1"].Text = "Yearly Sales Report";

sheet["A1"].CellStyle = pageHeader;

sheet["A2"].Text = "Namewise Sales Comparison Report";

sheet["A2"].CellStyle = pageHeader;

sheet["A2"].CellStyle.Font.Bold = false;

sheet["A2"].CellStyle.Font.Size = 16;

sheet["A1:D1"].Merge;

sheet["A2:D2"].Merge;

sheet["A3:A4"].Merge;

sheet["D3:D4"].Merge;

sheet["B3:C3"].Merge;

sheet["B3"].Text = "Sales";

sheet["A3"].Text = "Sales Person";

sheet["B4"].Text = "January - June";

sheet["C4"].Text = "July - December";

sheet["D3"].Text = "Change(%)";

sheet["A3:D4"].CellStyle = tableHeader;

sheet.UsedRange.AutofitColumns;

sheet.Columns[0].ColumnWidth = 24;

sheet.Columns[1].ColumnWidth = 21;

sheet.Columns[2].ColumnWidth = 21;

sheet.Columns[3].ColumnWidth = 16;

#endregion

sheet.UsedRange.AutofitColumns;

//Save the file in the given path

Stream excelStream = File.Create(Path.GetFullPath(@"Output.xlsx"));

workbook.SaveAs(excelStream);

excelStream.Dispose;

}

如何用c语言打开excel:C  导出(5)

猜您喜欢: