<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      國產(chǎn)化Excel處理組件Spire.XLS教程:使用 C# 從數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)到 Excel(含 SQL 示例)

       

      在企業(yè)應(yīng)用開發(fā)中,Excel 通常被用作在技術(shù)人員與業(yè)務(wù)人員之間傳遞結(jié)構(gòu)化數(shù)據(jù)的橋梁,因其格式靈活、易于共享且用戶普遍熟悉。而將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出為 Excel 文件,也因此成為實(shí)現(xiàn)報(bào)表生成、審計(jì)追蹤、數(shù)據(jù)遷移和臨時(shí)分析等需求時(shí)的一種高頻操作。

      E-iceblue旗下Spire系列產(chǎn)品是文檔開發(fā)領(lǐng)域的佼佼者,支持國產(chǎn)化信創(chuàng)。本文將介紹如何使用 Spire.XLS for .NET 通過 C# 將數(shù)據(jù)庫記錄高效導(dǎo)出到 Excel 文件。示例以 SQL Server 數(shù)據(jù)庫為基礎(chǔ),但相同方法也適用于 SQLite、MySQL、Oracle 等其他關(guān)系型數(shù)據(jù)庫,只需調(diào)整連接方式即可。

      Spire.XLS for .NET試用下載,請聯(lián)系Spire官方授權(quán)代理商慧都科技

      歡迎加入Spire技術(shù)交流Q群(125237868),與更多小伙伴一起提升文檔開發(fā)技能~

      準(zhǔn)備工作

      在開始編碼之前,請先確認(rèn)開發(fā)環(huán)境已就緒:

      • .NET 版本:支持 .NET Framework 及 .NET Core / .NET 6 / .NET 8
      • IDE:Visual Studio(社區(qū)版及以上版本均可)
      • 數(shù)據(jù)庫:本文示例使用 SQL Server Express,采用 Windows 身份驗(yàn)證(也可改為 SQL 身份驗(yàn)證)
      • 必需庫
        • Spire.XLS for .NET(NuGet 安裝:Install-Package Spire.XLS)
        • Microsoft.Data.SqlClient(SQL Server 訪問驅(qū)動(dòng),NuGet 安裝)

      Spire.XLS for .NET試用下載,請聯(lián)系Spire官方授權(quán)代理商慧都科技

      歡迎加入Spire技術(shù)交流Q群(125237868),與更多小伙伴一起提升文檔開發(fā)技能~

      示例數(shù)據(jù)庫

      以下 SQL 腳本在 SQL Server Express 中創(chuàng)建一個(gè) Employees 表并插入測試數(shù)據(jù):

      CREATE TABLE Employees (
          Id INT PRIMARY KEY IDENTITY,
          Name NVARCHAR(100) NOT NULL,
          Department NVARCHAR(50) NOT NULL,
          Position NVARCHAR(50),
          HireDate DATE NOT NULL,
          Salary DECIMAL(10, 2) NOT NULL,
          IsFullTime BIT NOT NULL
      );
      
      INSERT INTO Employees (Name, Department, Position, HireDate, Salary, IsFullTime) VALUES
      (N'張偉', N'人力資源部', N'人事經(jīng)理', '2018-05-01', 5500.00, 1),
      (N'李強(qiáng)', N'信息技術(shù)部', N'軟件工程師', '2020-09-15', 7200.50, 1),
      (N'王芳', N'財(cái)務(wù)部', N'會(huì)計(jì)', '2019-11-20', 6300.75, 0),
      (N'陳麗', N'市場部', N'內(nèi)容專員', '2021-02-10', 4800.00, 1);

      如果使用 MySQL 或 SQLite,只需調(diào)整 SQL 語法與連接字符串,整體導(dǎo)出邏輯不變。

      用 C# 將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到 Excel

      1. 建立數(shù)據(jù)庫連接

      以 SQL Server Express 為例,使用 SqlConnection 建立連接:

      string connectionString = @"Data Source=YourServer\SQLEXPRESS;Initial Catalog=YourDatabaseName;Integrated Security=True;";
      • Windows 身份驗(yàn)證:Integrated Security=True
      • SQL 身份驗(yàn)證: User ID=yourUsername;Password=yourPassword;Encrypt=True;TrustServerCertificate=True

      2. 將數(shù)據(jù)讀取到 DataTable

      使用 SqlDataAdapter 執(zhí)行查詢并填充 DataTable

      using System.Data;
      using Microsoft.Data.SqlClient;
      
      DataTable dataTable = new DataTable();
      using (SqlConnection conn = new SqlConnection(connectionString))
      {
          conn.Open();
          string query = "SELECT * FROM Employees";
          using (SqlDataAdapter adapter = new SqlDataAdapter(query, conn))
          {
              adapter.Fill(dataTable);
          }
      }

      3. 使用 Spire.XLS 導(dǎo)出到 Excel

      using Spire.Xls;
      
      Workbook workbook = new Workbook();
      workbook.Worksheets.Clear();
      Worksheet sheet = workbook.Worksheets.Add("Employees");
      
      // 從第 1 行第 1 列插入 DataTable 數(shù)據(jù),并包含列標(biāo)題
      sheet.InsertDataTable(dataTable, true, 1, 1);
      
      // 保存為 Excel 2013 格式
      workbook.SaveToFile("Employees.xlsx", ExcelVersion.Version2013);

      核心方法

      • InsertDataTable(DataTable table, bool columnHeaders, int firstRow, int firstColumn)

        • columnHeaders=true 表示將列名寫入第一行
        • firstRow / firstColumn 定義數(shù)據(jù)起始位置(基于 1 索引)
      • SaveToFile:可保存為 .xlsx、.xls、.csv 等格式,也可保存到流中

       

      Spire.XLS for .NET試用下載,請聯(lián)系Spire官方授權(quán)代理商慧都科技

      歡迎加入Spire技術(shù)交流Q群(125237868),與更多小伙伴一起提升文檔開發(fā)技能~

      優(yōu)化 Excel 格式(可選但推薦)

      導(dǎo)出數(shù)據(jù)后,可以通過以下方式提高可讀性:

      // 表頭樣式
      sheet.Rows[0].Style.Font.IsBold = true;
      sheet.Rows[0].Style.Font.Size = 14;
      sheet.Rows[0].Style.HorizontalAlignment = HorizontalAlignType.Center;
      sheet.Rows[0].Style.Color = System.Drawing.Color.LightGray;
      
      // 數(shù)據(jù)行樣式
      for (int i = 1; i < sheet.Rows.Count(); i++)
      {
          var dataRow = sheet.Rows[i];
          dataRow.Style.Font.Size = 12;
          dataRow.Style.HorizontalAlignment = HorizontalAlignType.Left;
      }
      
      // 設(shè)置全局字體
      sheet.AllocatedRange.Style.Font.FontName = "微軟雅黑";
      
      // 添加邊框
      sheet.AllocatedRange.BorderAround(LineStyleType.Thin, System.Drawing.Color.Black);
      sheet.AllocatedRange.BorderInside(LineStyleType.Medium, System.Drawing.Color.Black);
      
      // 自動(dòng)調(diào)整列寬
      sheet.AllocatedRange.AutoFitColumns();

       

      Spire.XLS for .NET試用下載,請聯(lián)系Spire官方授權(quán)代理商慧都科技

      歡迎加入Spire技術(shù)交流Q群(125237868),與更多小伙伴一起提升文檔開發(fā)技能~

      其他數(shù)據(jù)讀取方式

      除了 DataTable 之外,你還可以:

      • 使用 Entity Framework

      var employees = dbContext.Employees.ToList();
      • 然后將集合轉(zhuǎn)換為 DataTable 或逐行寫入 Excel。

      • 調(diào)用存儲過程

      SqlCommand cmd = new SqlCommand("GetEmployees", conn);
      cmd.CommandType = CommandType.StoredProcedure;
      • 讀取 SQLite / MySQL / Oracle 只需更換連接類型和驅(qū)動(dòng)(Microsoft.Data.Sqlite、MySql.Data 等),其余導(dǎo)出邏輯相同。

      常見問題與解決方法

      問題 可能原因與解決方案
      Excel 文件為空 檢查 DataTable 是否在導(dǎo)出前已正確填充
      文件無法保存 確認(rèn)保存路徑存在且有寫入權(quán)限
      無法連接數(shù)據(jù)庫 檢查服務(wù)器是否啟動(dòng)、連接字符串是否正確
      特殊字符亂碼 數(shù)據(jù)庫列類型應(yīng)使用 NVARCHAR,Excel 需使用支持 Unicode 的字體
      身份驗(yàn)證失敗 Windows 身份驗(yàn)證用 Integrated Security=True,SQL 身份驗(yàn)證需提供用戶名與密碼

      總結(jié)

      通過 Spire.XLS for .NET,我們可以在 C# 中快速將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出為 Excel,無需安裝 Microsoft Office,且支持批量數(shù)據(jù)、格式設(shè)置和多種文件格式。 此方案可用于定時(shí)任務(wù)、后臺服務(wù)或 Web 應(yīng)用,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)化導(dǎo)出與分發(fā)。

      常見問題解答

      Q:如何在 C# 中將 SQL 數(shù)據(jù)導(dǎo)出到 Excel? A:使用 SqlConnection 讀取數(shù)據(jù)到 DataTable,再調(diào)用 Spire.XLS 的 InsertDataTable() 方法即可。

      Q:支持導(dǎo)出 SQLite 或 MySQL 數(shù)據(jù)嗎? A:支持,只需更換數(shù)據(jù)庫驅(qū)動(dòng)與連接字符串。

      Q:需要安裝 Excel 嗎? A:不需要,Spire.XLS 是獨(dú)立的 Excel 處理庫。

      Q:能否將多個(gè)表導(dǎo)出到同一個(gè) Excel 文件? A:可以,創(chuàng)建多個(gè)工作表并分別插入數(shù)據(jù)即可。

      Spire.XLS for .NET試用下載,請聯(lián)系Spire官方授權(quán)代理商慧都科技

      歡迎加入Spire技術(shù)交流Q群(125237868),與更多小伙伴一起提升文檔開發(fā)技能~

      posted @ 2025-08-18 17:32  IT開發(fā)者筆記  閱讀(36)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 女人被爽到高潮视频免费国产| 国产国拍亚洲精品永久软件| 69天堂人成无码免费视频| 美女黄18以下禁止观看| 久久无码中文字幕免费影院蜜桃| 午夜福利片1000无码免费| 久久亚洲女同第一区综合| 亚洲国产日韩一区三区| 成人免费亚洲av在线| 亚洲精品成人福利网站| 日韩av日韩av在线| 99国精品午夜福利视频不卡99| 亚洲蜜臀av乱码久久| 欧美成人h精品网站| 18禁网站免费无遮挡无码中文| 思热99re视热频这里只精品| 日韩无专区精品中文字幕| 国产黄色大片网站| 日韩在线视频网| 亚洲精品成人一二三专区| 国产精品综合av一区二区国产馆| 株洲县| 无人去码一码二码三码区| 中文字幕一区二区网站| 综合色一色综合久久网| 在线亚洲妇色中文色综合| 免费人成在线观看网站| 欧美成人va免费大片视频| 办公室强奷漂亮少妇同事| 人妻丰满熟妇av无码区不卡| 国产在线精品欧美日韩电影| 国产成人无码免费视频麻豆| 国产熟睡乱子伦视频在线播放| 久久国产热这里只有精品| 在线观看热码亚洲av每日更新| 久久美女夜夜骚骚免费视频| 无码天堂va亚洲va在线va| a级亚洲片精品久久久久久久| 亚洲老妇女亚洲老熟女久| 亚洲中文字幕精品第一页| 亚洲精品无amm毛片|