在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
以下文章將演示如何將 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。點擊建立按鈕,將會建立一個新專案,如下所示。
在 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 資料庫中檢索資料。
在主函數中,它將創建一個Workbook
使用IronXL 然後創建一個工作表
.
在 for
迴圈中,資料將被填入指定工作表的行中。
之後,將此文件另存為 CSV 格式,使用SaveAsCsv
由IronXL提供的函數。
此程序生成的 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 是IronSuite,由五個庫組成:
IronXL,這在今天被探索。
2.IronPDF用於生成、讀取和操作 PDF 文件
IronOCR用於從圖像中提取文字工作
4.IronBarcode用於讀取和生成條碼
IronWebScraper從網站中提取結構化數據。
如果一起購買,您可以以兩個產品的價格獲得所有這些產品。