在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
以下文章將演示如何將 C# 數據集轉換為 CSV 文件。
IronXL 是一個處理電子表格(無論是 CSV 格式還是 Excel 文件)的絕佳解決方案。IronXL 是免費提供給開發使用的,易於使用,並且提供強大的功能來處理任何類型的電子表格。它是安全的,並且提供高性能的表現。在繼續之前,讓我們簡要介紹一下 IronXL。
IronXL 是一款 Iron Software 允許 C# 開發人員讀取、生成和編輯 Excel 的庫 (以及其他電子表格文件) 在 .NET 應用程序和網站中。
IronXL 是一種快速且簡單的方法,用於在 C# 和 .NET 中處理 Excel 和其他電子表格文件。IronXL 與 .NET Framework、.NET Core 和 Azure 兼容,無需 Office Excel Interopm。IronXL 也不需要安裝 Microsoft Office 或包含任何其他此類依賴項。
讓我們開始創建和編寫代碼來為數據集創建 CSV 文件。
打開 Visual Studio IDE;建議使用最新版本的 Visual Studio,但您可以根據個人喜好選擇其他版本。請注意,建立新專案的步驟可能會因版本不同而有所不同。
Visual Studio 的啟動視窗
點擊建立新專案。將出現一個新視窗,如下所示。
在 Visual Studio 中建立一個新專案
從列表中選擇您喜歡的專案模板。點擊 下一步 按鈕,然後新窗口將會顯示如下圖所示。
配置新創建的專案
命名您的專案,選擇其位置,然後按下 下一步 按鈕。如下所示將出現一個新窗口。
選擇 .NET Framework 版本
選擇您的目標 .NET Framework。您可以選擇任何符合您需求的 .NET Framework,因為 IronXL 支援每個 .NET Framework。本教程將使用 .NET 7。點擊 Create 按鈕,系統會創建一個如下面所示的新項目。
在 Visual Studio 中建立新的主控台應用程式
現在,安裝 IronXL NuGet 套件以在此應用程式中使用。
打開 NuGet 套件管理器主控台,輸入以下命令。
Install-Package IronXL.Excel
這 NuGet 套件 將會安裝並準備使用,如下所示。
安裝IronXL套件及其套件依賴性
現在,讓我們編寫一些程式碼來將資料集轉換為C#中的CSV檔案。
此範例將從SQL伺服器資料庫填充數據。從SQL DB獲取資料集後,我們將使用這些輸入數據創建一個CSV檔案。
第一步是從 SQL 填充數據,但您可以使用任何您喜歡的數據源。
本教程使用以下數據:
建立具有範例數據的新資料庫
以下是建立範例數據的 SQL 腳本:
USE Test_DB
Create Table STUDENT_DATA
(
REG_NUM INT PRIMARY KEY,
FIRST_NAME VARCHAR(30),
LAST_NAME VARCHAR(30),
CLASS VARCHAR(5),
CONTACT_NUM VARCHAR(15)
);
INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');
以下 C# 代碼用於將資料表匯出至 CSV 檔案。
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
Public Shared Function getData() As DataTable
Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
Dim query As String = "select * from STUDENT_DATA"
Try
Dim conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(query, conn)
conn.Open()
' create data adapter
Dim da As New SqlDataAdapter(cmd)
' this will query your database and return the result to your datatable
Dim dt As New DataTable()
da.Fill(dt)
da.Dispose()
Return dt
Catch e1 As Exception
Throw
End Try
End Function
Shared Sub Main(ByVal args() As String)
Dim table As DataTable = getData()
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "JOHN"
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
ws ("B" & (rowCount)).Value = row (1).ToString()
ws ("C" & (rowCount)).Value = row (2).ToString()
ws ("D" & (rowCount)).Value = row (3).ToString()
ws ("E" & (rowCount)).Value = row (4).ToString()
rowCount += 1
Next row
wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
該方法 getData()
從先前討論的 SQL Server 資料庫中檢索資料。
在主函數中,它將創建一個 Workbook
使用IronXL 然後創建一個 工作表
在 for
循環中,數據將被填充到給定工作表的行中。
之後,將此文件保存為 CSV。 SaveAsCsv
由IronXL提供的函數。
這個程式生成的 CSV 檔案如下:
CSV輸出文件
顯然,CSV文件生成了正確的數據,並且與提供的輸入保持一致。
本文演示了如何從數據集在 C# 中創建 CSV 文件。該庫還可以 使用C#讀取CSV檔案. 從 SQL Server 數據庫獲取數據並創建 CSV 文件的三個步驟:
從 SQL Server 獲取數據。
將數據填充到數據表中。
使用 IronXL 在 .NET 7 中創建 CSV 文件非常容易,如上所示。由於程序是用 .NET 7 和 IronXL 編寫的,其性能非常卓越。IronXL 提供了其他有用的功能,例如創建、讀取和操作 Excel 文件。欲了解更多詳情,請訪問 官方文件此外,IronPDF 為開發人員提供了方法來 將 PDF 文件渲染成圖像 和 提取文字和內容 從PDF中。此外,IronPDF還能夠 渲染圖表 在PDF檔案中, 添加條碼, 使用密碼增強安全性 以程式方式。
IronXL 的免費版本僅用於開發用途。如需將應用程式部署到生產環境,請取得 免費試用 版本或一个 商業授權. IronXL 是 的一部分 IronSuite, 它包含五個庫:
IronXL,這是今天所探索的。 IronPDF 生成、閱讀和操作 PDF 檔案 IronOCR 從圖像中提取文字工作 IronBarcode 用於讀取和生成條碼
如果一起購買,您可以用兩個產品的價格獲得所有這些產品。