在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
以下文章將演示如何將 C# 資料集轉換為 CSV 文件。
IronXL 是處理試算表的絕佳解決方案,無論是 CSV 格式還是 Excel 文件。 IronXL 是免費開發的,易於使用,並提供廣泛的功能以處理任何類型的電子表格。 它安全且提供高效能。 在繼續之前,讓我們簡單介紹一下IronXL。
IronXL 是一個 Iron Software 程式庫,允許 C# 開發人員在 .NET 應用程式和網站中讀取、生成和編輯 Excel(及其他試算表文件)。
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。點擊建立按鈕,將建立一個新專案,如下所示。
在 Visual Studio 中建立新的控制台應用程式
現在,安裝 IronXL NuGet 套件以便在此應用程式中使用。
開啟 NuGet 套件管理器主控台,然後輸入以下命令。
Install-Package IronXL.Excel
NuGet 套件將會安裝完畢且準備好使用,如下所示。
IronXL 套件及其套件相依性的安裝
現在,讓我們來寫一些程式碼將數據集轉換為 C# 中的 CSV 文件。
此範例將從 SQL 伺服器資料庫填充資料。 從 SQL 資料庫獲取資料集後,我們將使用此輸入資料創建一個 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 資料庫中檢索資料。
在主要函數中,將使用 IronXL 創建一個WorkBook
,然後創建一個WorkSheet
。
在for
迴圈中,數據將填入給定工作表的行中。
之後,使用 IronXL 提供的SaveAsCsv
函數將此文件儲存為 CSV。
此程序生成的 CSV 文件如下:
CSV 輸出檔案
很明顯,CSV文件生成得當,並與提供的輸入保持一致。
本文示範了如何從資料集在 C# 中建立 CSV 檔案。 該庫還可以使用 C# 讀取 CSV 文件。 從 SQL Server 數據庫填充數據集並通過三個步驟創建一個 CSV 文件:
從 SQL Server 獲取數據。
將數據填入資料表。
從該數據表創建一個CSV文件。
如上所示,使用IronXL在.NET 7中創建CSV文件非常容易。 由於該程式使用 .NET 7 和 IronXL 編寫,因此其性能非常出色。 IronXL 提供了其他有用的功能,例如創建、讀取和操作 Excel 文件。 如需更多詳細資訊,請造訪官方文檔。
此外,IronPDF 為開發者提供了將 PDF 文件渲染為影像和從 PDF 中提取文字和內容的方法。 此外,IronPDF 也能在 PDF 中渲染圖表,添加條碼,通過程式碼增強安全性並添加密碼。
IronXL 的免費版本用於開發目的。 要在生產環境中部署應用程式,請獲取免費試用版本或商業許可證。 IronXL 是 Iron Suite 的一部分,其中包含五個函式庫:
IronXL,是今天要探討的內容。
IronPDF 用於生成、閱讀和操作 PDF 文件
IronOCR 用於從圖像中提取文本的工作
IronBarcode 用於讀取和生成條碼
IronWebScraper 用於從網站中提取結構數據。
如果一起購買,您可以以兩個產品的價格獲得所有這些產品。