C# 导出Excel的6种简单方法实现

作者 | 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

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

数据表导出到 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();
}

将数据表输出到Excel

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

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

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

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

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

对象集合导出到 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();
}

将对象集合输出到Excel

数据库导出到 Excel

Excel 支持从不同的数据库创建 Excel 表。如果你需要使用 Excel 从数据库创建一个或多个 Excel 表,那么需要逐个建立连接来创建。这可能很耗费时间。所以,如果能找到一种从数据库快速、轻松地生成 Excel 表的替代方法,这难道不是首选方法吗?

Syncfusion Excel (XlsIO) 库可以将数据从 MS SQL 、MS Access 、Oracle 等数据库导出到 Excel 工作表。通过在数据库和 Excel 应用程序之间建立连接,可以将数据从数据库导出到 Excel 表。

可以使用 Refresh() 方法更新映射到数据库的 Excel 表中的修改数据。

最重要的是,你可以参考文档从外部连接创建一个表,以了解如何将数据库导出到Excel 表。下面的代码示例演示了如何将数据从数据库导出到 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];

  if(sheet.ListObjects.Count == 0)
  {
    //Estabilishing the connection in the worksheet
    string dBPath = Path.GetFullPath(@"../../Data/EmployeeData.mdb");
    string ConnectionString = "OLEDB;Provider=Microsoft.JET.OLEDB.4.0;Password=\"\";User ID=Admin;Data Source="+ dBPath;
    string query = "SELECT EmployeeID,FirstName,LastName,Title,HireDate,Extension,ReportsTo FROM [Employees]";
    IConnection Connection = workbook.Connections.Add("Connection1", "Sample connection with MsAccess", ConnectionString, query, ExcelCommandType.Sql);
    sheet.ListObjects.AddEx(ExcelListObjectSourceType.SrcQuery, Connection, sheet.Range["A1"]);
  }

  //Refresh Excel table to get updated values from database
  sheet.ListObjects[0].Refresh();

  sheet.UsedRange.AutofitColumns();

  //Save the file in the given path
  Stream excelStream = File.Create(Path.GetFullPath(@"Output.xlsx"));
  workbook.SaveAs(excelStream);
  excelStream.Dispose();
}

将数据库输出到Excel表

将数据从 DataGrid 、GridView 、DataGridView 导出到 Excel

从微软网格控件导出数据到 Excel 工作表,有助于以不同的方式可视化数据。你可能要花费数小时从网格单元格中遍历其数据及其样式,以便将它们导出到 Excel 工作表。对于那些需要将数据从微软网格控件导出到 Excel 工作表的人来说,这应该是个好消息,因为使用 Syncfusion Excel 库导出要快得多。

Syncfusion Excel (XlsIO) 库支持通过调用一个 API,将来自微软网格控件(如DataGrid 、GridView 和 DataGridView )的数据导出到 Excel 工作表。此外,你还可以使用标题和样式导出数据。

下面的代码示例演示了如何将数据从 DataGridView 导出到 Excel 工作表。

#region Loading the data to DataGridView
DataSet customersDataSet = new DataSet();

//Read the XML file with data
string inputXmlPath = Path.GetFullPath(@"../../Data/Employees.xml");
customersDataSet.ReadXml(inputXmlPath);
DataTable dataTable = new DataTable();

//Copy the structure and data of the table
dataTable = customersDataSet.Tables[1].Copy();

//Removing unwanted columns
dataTable.Columns.RemoveAt(0);
dataTable.Columns.RemoveAt(10);
this.dataGridView1.DataSource = dataTable;

dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.White;
dataGridView1.RowsDefaultCellStyle.BackColor = Color.LightBlue;
dataGridView1.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("Tahoma", 9F, ((System.Drawing.FontStyle)(System.Drawing.FontStyle.Bold)));
dataGridView1.ForeColor = Color.Black;
dataGridView1.BorderStyle = BorderStyle.None;
#endregion

using (ExcelEngine excelEngine = new ExcelEngine())
{
  IApplication application = excelEngine.Excel;

  //Create a workbook with single worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  IWorksheet worksheet = workbook.Worksheets[0];

  //Import from DataGridView to worksheet
  worksheet.ImportDataGridView(dataGridView1, 1, 1, isImportHeader: true, isImportStyle: true);

  worksheet.UsedRange.AutofitColumns();
  workbook.SaveAs("Output.xlsx");
}

Microsoft DataGridView到Excel

数组导出到 Excel

有时,可能需要将数据数组插入或修改到 Excel 工作表中的现有数据中。在这种情况下,行数和列数是预先知道的。数组在固定范围时非常有用。

Syncfusion Excel (XlsIO) 库支持将数据数组导出到 Excel 工作表中,水平方向和垂直方向导出均可。此外,还可以导出二维数组。

让我们考虑一个场景,“人均开支”。一个人全年的花费都列在 Excel 工作表中。在这个场景中,你需要在新建一行,添加一个新用户 Paul Pogba 的开销,并更新所有被跟踪人员 12 月的开销。

从数组导出前的 Excel 数据

可以通过 ImportArray 方法将数据数组导出到 Excel 工作表。下面的代码示例演示了如何将数据数组导出到 Excel 工作表中,水平方向和垂直方向都是如此。

using (ExcelEngine excelEngine = new ExcelEngine())
{
  IApplication application = excelEngine.Excel;
  application.DefaultVersion = ExcelVersion.Excel2016;

  //Reads input Excel stream as a workbook
  IWorkbook workbook = application.Workbooks.Open(File.OpenRead(Path.GetFullPath(@"../../../Expenses.xlsx")));
  IWorksheet sheet = workbook.Worksheets[0];

  //Preparing first array with different data types
  object[] expenseArray = new object[14]
  {"Paul Pogba", 469.00d, 263.00d, 131.00d, 139.00d, 474.00d, 253.00d, 467.00d, 142.00d, 417.00d, 324.00d, 328.00d, 497.00d, "=SUM(B11:M11)"};

  //Inserting a new row by formatting as a previous row.
  sheet.InsertRow(11, 1, ExcelInsertOptions.FormatAsBefore);

  //Import Peter's expenses and fill it horizontally
  sheet.ImportArray(expenseArray, 11, 1, false);

  //Preparing second array with double data type
  double[] expensesOnDec = new double[6]
  {179.00d, 298.00d, 484.00d, 145.00d, 20.00d, 497.00d};

  //Modify the December month's expenses and import it vertically
  sheet.ImportArray(expensesOnDec, 6, 13, true);

  //Save the file in the given path
  Stream excelStream = File.Create(Path.GetFullPath(@"Output.xlsx"));
  workbook.SaveAs(excelStream);
  excelStream.Dispose();
}

将数据数组输出到Excel

CSV 导出到 Excel

逗号分隔值 (CSV) 文件有助于生成列数少、行数多的表格数据或轻量级报告。Excel 格式打开这些文件,更容易读懂数据。
Syncfusion Excel (XlsIO) 库支持在几秒钟内打开和保存 CSV 文件。下面的代码示例演示了如何打开 CSV 文件,并将其保存为 XLSX 文件。最重要的是,数据显示在数字格式的表格中。

using (ExcelEngine excelEngine = new ExcelEngine())
{
  IApplication application = excelEngine.Excel;
  application.DefaultVersion = ExcelVersion.Excel2016;

  //Preserve data types as per the value
  application.PreserveCSVDataTypes = true;

  //Read the CSV file
  Stream csvStream = File.OpenRead(Path.GetFullPath(@"../../../TemplateSales.csv")); ;

  //Reads CSV stream as a workbook
  IWorkbook workbook = application.Workbooks.Open(csvStream);
  IWorksheet sheet = workbook.Worksheets[0];

  //Formatting the CSV data as a Table
  IListObject table = sheet.ListObjects.Create("SalesTable", sheet.UsedRange);
  table.BuiltInTableStyle = TableBuiltInStyles.TableStyleMedium6;
  IRange location = table.Location;
  location.AutofitColumns();

  //Apply the proper latitude & longitude numerformat in the table
  TryAndUpdateGeoLocation(table,"Latitude");
  TryAndUpdateGeoLocation(table,"Longitude");

  //Apply currency numberformat in the table column 'Price'
  IRange columnRange = GetListObjectColumnRange(table,"Price");
  if(columnRange != null)
    columnRange.CellStyle.NumberFormat = "$#,##0.00";

  //Apply Date time numberformat in the table column 'Transaction_date'
  columnRange = GetListObjectColumnRange(table,"Transaction_date");
  if(columnRange != null)
    columnRange.CellStyle.NumberFormat = "m/d/yy h:mm AM/PM;@";

  //Sort the data based on 'Products'
  IDataSort sorter = table.AutoFilters.DataSorter;
  ISortField sortField = sorter. SortFields. Add(0, SortOn. Values, OrderBy. Ascending);
  sorter. Sort();

  //Save the file in the given path
  Stream excelStream;
  excelStream = File.Create(Path.GetFullPath(@"../../../Output.xlsx"));
  workbook.SaveAs(excelStream);
  excelStream.Dispose();
}

输入csv文件

csv转换成excel的输出

总结

如你所见, Syncfusion Excel (XlsIO) 库提供了 C# 将数据导出到 Excel 的各种简单方法。我们可以有效地使用它们生成高性能的 Excel 报表或处理大数据。建议花点时间仔细阅读文档,你会发现其他选项和特性,以及所有附带的代码示例。使用该库,还可以将 Excel 数据导出为 PDF、图像、数据表、CSV、TSV、HTML、对象集合、ODS文件格式等。

原文:https://www.syncfusion.com/blogs/post/6-easy-ways-to-export-data-to-excel-in-c-sharp.aspx

本文为CSDN翻译,转载请注明来源出处。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#插入图片到Excel表格单元格代码详解

    dll文件获取及引用: 方法1:通过官网下载dll文件包,并解压.解压文件后,将bin文件夹下的Spire.Xls.dll文件引用到C#程序. 方法2:通过Nuget网站获取dll. C#代码示例 using Spire.Xls; using System.Drawing; namespace InsertImage_XLS { class Program { static void Main(string[] args) { //创建Workbook对象 Workbook workbook =

  • C# winfrom 模拟ftp文件管理实现代码

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Windows.Forms; namespace ConvertData{    class FtpUpDown    { string ftpServerIP;        string ftpUserID;        string ftp

  • C#获取Excel第一列的实例方法

    演示C#读取Excel文档,以及展示读取结果. 打开Vistual Studio开发工具软件,新建一个读取Excel的demo项目,包括一个可视窗体,项目工程结构如下图所示. 打开工程->引用->右键->添加引用,导入读取excel文件必要引用,主要是NPOI的一些组件.导入成功,如下图所示. 创建一个简单的可视窗体,窗体上控件包括:打开文件.读取文件按钮,显示读取结果的文本控件等. 主窗体代码中,操作读取文件时,调用类ExcelClass中的readExcelData_NPOI方法.如

  • C#WinFrom导出Excel过程解析

    这篇文章主要介绍了C#WinFrom导出Excel过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 采用的是以DataGridView的形式导出,使用NPOI.dll 1.由于使用的是DataGridView,所以类需要创建在From的Project下,DLL导入NPOI 2.代码如下 ExportExcel using System; using System.Collections.Generic; using System.Linq

  • C#中Winfrom默认输入法的设置方法

    本文实例讲述了C#中Winfrom默认输入法的设置方法.分享给大家供大家参考.具体分析如下: 在WINFORM中我们经常遇到文本输入框中输入法被禁用或老是变全角输入法等问题,经查阅相关资料,现小结如下: 一.Control.ImeMode 属性:获取或设置控件的输入法编辑器 (IME) 模式. (1)由于窗体属性继承关系,如果你的WINFORM窗体中大部分需要设置为输入法有效状态,可以设置为FORM的ImeMode属性为On. (2)如果需要某些TextBox为输入法有效,则使用ImeMode.

  • C#利用VS中插件打包并发布winfrom程序

    本文为大家分享了C#利用VS中插件打包并发布winfrom程序,供大家参考,具体内容如下 1.先在VS 的扩展更新中搜索此插件[2015 installer Projects],点击下载,安装需要关闭VS 2.安装完毕之后新建项目 3.选择"application folder"项,然后在右边的空白区域右击,选择Add,如下图 4.选择需要打包发布的exe文件 这里会自动带出相关联的dll文件,如图: 5.选中程序主入口也就是exe后缀的文件右键添加快捷方式,这里需要添加两个快捷方式,

  • C# winfrom实现读取修改xml

    本文示例为大家分享了winfrom实现读取修改xml的具体代码,供大家参考,具体内容如下 在winfrom窗体中放一个文本框,2个按钮,一个panle,如下图 form.cs文件中的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

  • C# 导出Excel的6种简单方法实现

    作者 | Johnson Manohar 译者 | 谭开朗,责编 | 黄浩然 出品 | CSDN(ID:CSDNnews) Syncfusion Excel (XlsIO) 库是一个 .Net Excel 库,它支持用户用 C# 和 VB.NET 以一个非常简易的方式,将各种数据源(如数据表,数组,对象集合,数据库,CSV / TSV,和微软网格控件等)数据导出到 Excel . 将数据导出到 Excel 可以以更容易理解的方式可视化数据.该特性有助于生成财务报告.银行报表和发票,同时还支持筛选

  • JS实现导出Excel的五种方法详解【附源码下载】

    本文实例讲述了JS实现导出Excel的五种方法.分享给大家供大家参考,具体如下: 这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari) <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>html 表格导出道</title> <sc

  • C#中DataGridView导出Excel的两种方法

    第一种是用数据流导出: #region SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Execl files (*.xls)|*.xls"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = true; saveFileDi

  • php解析xml 的四种简单方法(附实例)

    XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. 1. XML Expat Parser: XML Parser使用Expat XML解析器.Expat是一种基于事件的解析器,它把XML文档视为一系列事件.当某个事件发生时,它调用一个指定的函数处理它.Expat是无验证的解析器,忽略任何链接到文档的DTD.但是,如果文档的形式不好,则会以一个错误

  • 调整优化您的LAMP应用程序的5种简单方法

    简介 Wikipedia.Facebook 和 Yahoo! 等主要 web 属性使用 LAMP 架构来为每天数百万的请求提供服务,而 Wordpress.Joomla.Drupal 和 SugarCRM 等 web 应用程序软件使用其架构来让组织轻松部署基于 web 的应用程序. 该架构的优势在于其简单性.而 .NET 这样的堆栈和 Java™ 技术可能使用大量硬件.昂贵的软件栈和复杂的性能调优,LAMP 堆栈可以运行于商品硬件之上,使用开源软件栈.由于软件栈是一个松散的组件集,而非一个整体堆

  • Java FineReport报表工具导出EXCEL的四种方式

    在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出.分页分sheet导出和大数据量导出.对于excel2003版,限制了每个sheet的最大行数和列数,大数据量导出时会默认时分多个sheet,而excel2007不会出现这样的问题.这些导出方式在JAVA程序中分别有不同的接口来实现: 1. 原样导出 原样导出就是不预览直接导出excel 其程序接口代码如下: outputStream = new FileOutputStream(new File("E:\\Exce

  • Java之递归求和的两种简单方法(推荐)

    方法一: package com.smbea.demo; public class Student { private int sum = 0; /** * 递归求和 * @param num */ public void sum(int num) { this.sum += num--; if(0 < num){ sum(num); } else { System.out.println("sum = " + sum); } } } 方法二: package com.smbea

  • 在C++中把字符串转换为整数的两种简单方法

    目录 C++中的数据类型 如何在C++中声明和初始化 int s 如何在C++中声明和初始化 string s 如何使用 stoi() 函数将字符串转换为int 如何使用stringstream 类将一个字符串转换为一个int 总结 当你用C++编码时,经常会有这样的时候,你会想把一种数据类型转换为另一种. 在这篇文章中,你将看到两种最流行的方法来学习如何在C++中把字符串转换为整数. 让我们开始吧! C++中的数据类型 C++编程语言有一些内置的数据类型. int,用于整数(整数)(例如10,

  • Codeigniter生成Excel文档的简单方法

    之前看了使用PHPExcel中导出数据到Excel文件的方法,但是似乎比较复杂.icech找到了一个针对Codeigniter的类:CI-Excel-Generation-Library,使用方法十分简单. 1.下载CI-Excel-Generation-Library地址:https://github.com/JOakley77/CI-Excel-Generation-Library2.将Excel.php放到libraries里面 3.使用方法: 从数据库生成excel 复制代码 代码如下:

  • 详解python 破解网站反爬虫的两种简单方法

    最近在学爬虫时发现许多网站都有自己的反爬虫机制,这让我们没法直接对想要的数据进行爬取,于是了解这种反爬虫机制就会帮助我们找到解决方法. 常见的反爬虫机制有判别身份和IP限制两种,下面我们将一一来进行介绍. (一) 判别身份 首先我们看一个例子,看看到底什么时反爬虫. 我们还是以 豆瓣电影榜top250(https://movie.douban.com/top250) 为例.` import requests # 豆瓣电影榜top250的网址 url = 'https://movie.douban

随机推荐