使用 IRONXL C# CSV到XLSX:將CSV文件轉換為Excel格式 Jordi Bardia 更新:2026年3月1日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 將 CSV 檔案轉換為 XLSX 格式可以解鎖逗號分隔值檔案無法提供的電子表格功能。 CSV 儲存的是原始表格數據,而 Excel XLSX 格式支援公式、多工作表、圖表、儲存格格式設定和數據驗證——這些都是現代商業應用所必需的功能。 使用合適的庫,轉換過程非常簡單,只需要幾行 C# 程式碼。 IronXL是一個.NET函式庫,它直接處理這種轉換,無需 Microsoft Office 或 Open XML SDK。 它讀取來源 CSV 文件,解析分隔符數據,並寫入完全符合規範的 XLSX 工作簿。 透過NuGet安裝並開始免費試用,即可跟隨以下程式碼範例進行操作。 如何在C#中將CSV檔案轉換為XLSX格式? 核心轉換過程需要載入 CSV 檔案並將其儲存為 Excel 格式。 IronXL提供 WorkBook.LoadCSV,它可以解析分隔符號來源並建立可供匯出的工作簿。 此方法接受檔案路徑、目標 Excel 格式和分隔符號。 using IronXL; // Load CSV file and convert to XLSX format WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Access the default worksheet containing CSV data WorkSheet worksheet = workbook.DefaultWorkSheet; // Save as Excel XLSX file workbook.SaveAs("output.xlsx"); using IronXL; // Load CSV file and convert to XLSX format WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Access the default worksheet containing CSV data WorkSheet worksheet = workbook.DefaultWorkSheet; // Save as Excel XLSX file workbook.SaveAs("output.xlsx"); Imports IronXL ' Load CSV file and convert to XLSX format Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") ' Access the default worksheet containing CSV data Dim worksheet As WorkSheet = workbook.DefaultWorkSheet ' Save as Excel XLSX file workbook.SaveAs("output.xlsx") $vbLabelText $csharpLabel 輸出 LoadCSV 方法接受三個關鍵參數:檔案名稱、目標 Excel 格式常數、原始檔案中使用的清單分隔符號。此方法在建立結構正確的 XLSX 檔案的同時,保留原始 CSV 工作表中的所有字串資料和數值。 WorkBook類別是所有電子表格操作的中心樞紐。 載入完成後,即可透過工作表存取 CSV 數據,從而在儲存最終 Excel 文件之前進行進一步處理。 要載入現有的 XLSX 檔案而不是 CSV 文件,請使用 WorkBook.Load("file.xlsx"),它會自動從檔案副檔名偵測格式。 這樣就可以輕鬆建立接受 CSV 或 Excel 輸入並將其規範化為單一輸出格式的管道。 將 CSV 檔案轉換為 Excel 格式有哪些好處? 對於大多數資料管理場景,XLSX 格式相比普通的 CSV 格式具有明顯的優勢: -多個工作表:Excel 檔案支援在單一工作簿中建立多個工作表,從而實現 CSV 檔案無法比擬的有序資料儲存。 一個 XLSX 檔案可以包含數十個工作表,涵蓋不同的時間段、地區或類別。 -公式支援:直接在儲存格中編寫複雜的計算、聚合和條件邏輯。 當來源資料變更時,Excel 公式會自動重新計算,無需手動重新處理 CSV 檔案。 -視覺化圖表:根據工作表資料建立長條圖、折線圖、圓餅圖和其他視覺化圖表。 IronXL支援透過 API 直接建立圖表,因此圖表會嵌入到 XLSX 檔案中。 -單元格格式設定:控制專業文件的字型、顏色、邊框和數字格式。 CSV 檔案僅儲存原始值; XLSX 格式保留了顯示層和資料。 -資料驗證:限制儲存格輸入為特定值或範圍,防止與最終使用者共用的檔案中出現資料輸入錯誤。 -密碼保護:使用密碼保護工作表和工作簿,以控制讀取和寫入存取權限,這是 CSV 中完全沒有的功能。 這些功能使 XLSX 格式成為報告、儀表板、財務模型以及任何需要儲存原始資料以外的資料的應用程式的標準選擇。 如何在.NET專案中安裝IronXL ? IronXL以NuGet包的形式分發。 從 Visual Studio 的套件管理器控制台安裝: Install-Package IronXl Install-Package IronXl SHELL 或使用.NET CLI: dotnet add package IronXl dotnet add package IronXl SHELL 安裝完成後,將 using IronXL; 新增至任何與電子表格相關的檔案。 此軟體套件適用於.NET Framework 4.6.2+、. .NET Core 3.1+、. .NET 5 至.NET 10,並支援 Windows、Linux、macOS、Docker 和 Azure 部署環境。 無需額外執行時間依賴項或安裝 Microsoft Office。 IronXL使用自己的解析器和寫入器讀取和寫入 XLSX 文件,因此適用於無法安裝 Office 的伺服器端和無頭部署。 轉換過程中如何處理 CSV 編碼? 許多 CSV 檔案源自於使用非 ASCII 字元的舊系統、國際資料庫或第三方匯出檔案。 正確處理編碼可確保特殊字元和國際文字在產生的 XLSX 檔案中保持不變。 using IronXL; using System.Text; // Load CSV with explicit encoding specification WorkBook workbook = WorkBook.LoadCSV("international-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",", encoding: Encoding.UTF8); // Access the worksheet containing the encoded data WorkSheet sheet = workbook.DefaultWorkSheet; // Inspect a cell to verify encoding was preserved string cellValue = sheet["A1"].StringValue; // Save the converted Excel file workbook.SaveAs("encoded-output.xlsx"); using IronXL; using System.Text; // Load CSV with explicit encoding specification WorkBook workbook = WorkBook.LoadCSV("international-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",", encoding: Encoding.UTF8); // Access the worksheet containing the encoded data WorkSheet sheet = workbook.DefaultWorkSheet; // Inspect a cell to verify encoding was preserved string cellValue = sheet["A1"].StringValue; // Save the converted Excel file workbook.SaveAs("encoded-output.xlsx"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 輸出 XLSX 文件 IronXL可自動偵測常見編碼格式,包括大多數標準 CSV 檔案的 UTF-8 編碼格式。 對於採用非標準編碼(例如 Windows-1252、ISO-8859-1 或 Shift-JIS)的文件,請將 System.Text.Encoding 實例傳遞給 LoadCSV 呼叫。 Microsoft Learn 上的編碼類別文件列出了所有支援的編碼名稱。 從遠端伺服器取得 CSV 資料時,使用 HttpClient 下載串流,將其儲存為臨時文件,然後透過 LoadCSV 載入它。 這種模式適用於雲端託管的.NET應用程序,其中 CSV 檔案作為第三方 API 的 HTTP 回應到達。 CSV轉換後如何套用儲存格格式? 原始CSV資料不包含任何格式資訊。 轉換為 XLSX 格式後,套用數位格式、字型和背景顏色,讓電子表格清晰易讀且專業。 using IronXL; using IronXl.Styles; // Load CSV data WorkBook workbook = WorkBook.LoadCSV("sales-report.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Format the header row with bold text and background color Range headerRow = sheet["A1:Z1"]; headerRow.Style.Font.Bold = true; headerRow.Style.SetBackgroundColor("#4472C4"); headerRow.Style.Font.Color = "#FFFFFF"; // Apply currency format to a numeric column Range priceColumn = sheet["C2:C100"]; priceColumn.Style.NumberFormat = "$#,##0.00"; // Auto-fit column widths for readability sheet.AutoSizeColumn(0); sheet.AutoSizeColumn(1); sheet.AutoSizeColumn(2); workbook.SaveAs("formatted-report.xlsx"); using IronXL; using IronXl.Styles; // Load CSV data WorkBook workbook = WorkBook.LoadCSV("sales-report.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Format the header row with bold text and background color Range headerRow = sheet["A1:Z1"]; headerRow.Style.Font.Bold = true; headerRow.Style.SetBackgroundColor("#4472C4"); headerRow.Style.Font.Color = "#FFFFFF"; // Apply currency format to a numeric column Range priceColumn = sheet["C2:C100"]; priceColumn.Style.NumberFormat = "$#,##0.00"; // Auto-fit column widths for readability sheet.AutoSizeColumn(0); sheet.AutoSizeColumn(1); sheet.AutoSizeColumn(2); workbook.SaveAs("formatted-report.xlsx"); Imports IronXL Imports IronXl.Styles ' Load CSV data Dim workbook As WorkBook = WorkBook.LoadCSV("sales-report.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Format the header row detecting bold header detecting bold detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting bold text detecting $vbLabelText $csharpLabel IronXL透過 Style 屬性公開儲存格和區域樣式,該屬性反映了 Excel UI 中可用的格式設定選項。 數位格式遵循微軟官方文件中規定的Excel數位格式語法。 SetBackgroundColor 方法接受十六進位顏色字串,因此可以輕鬆地將品牌顏色應用於生成的報告。 有關可用的樣式屬性,請參閱完整的單元格格式設定 API 參考文件。 轉換 CSV 資料後如何新增圖表? 一旦 CSV 資料存在於 Excel 工作簿中, IronXL就可以直接從該資料建立圖表。 圖表可以將原始數字轉換為可視化的信息,而無需在伺服器上安裝 Microsoft Excel。 using IronXL; using IronXl.Drawing.Charts; // Load CSV and convert to Excel format WorkBook workbook = WorkBook.LoadCSV("sales-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet worksheet = workbook.DefaultWorkSheet; // Create a column chart from the converted CSV data IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10); // Add data series from the worksheet ranges IChartSeries series = chart.AddSeries("A2:A10", "B2:B10"); series.Title = "Monthly Sales"; // Configure chart appearance chart.SetTitle("Sales Performance"); chart.SetLegendPosition(LegendPosition.Bottom); // Plot the chart and save the workbook chart.Plot(); workbook.SaveAs("sales-with-chart.xlsx"); using IronXL; using IronXl.Drawing.Charts; // Load CSV and convert to Excel format WorkBook workbook = WorkBook.LoadCSV("sales-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet worksheet = workbook.DefaultWorkSheet; // Create a column chart from the converted CSV data IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10); // Add data series from the worksheet ranges IChartSeries series = chart.AddSeries("A2:A10", "B2:B10"); series.Title = "Monthly Sales"; // Configure chart appearance chart.SetTitle("Sales Performance"); chart.SetLegendPosition(LegendPosition.Bottom); // Plot the chart and save the workbook chart.Plot(); workbook.SaveAs("sales-with-chart.xlsx"); Imports IronXL Imports IronXl.Drawing.Charts ' Load CSV and convert to Excel format Dim workbook As WorkBook = WorkBook.LoadCSV("sales-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") Dim worksheet As WorkSheet = workbook.DefaultWorkSheet ' Create a column chart from the converted CSV data Dim chart As IChart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10) ' Add data series from the worksheet ranges Dim series As IChartSeries = chart.AddSeries("A2:A10", "B2:B10") series.Title = "Monthly Sales" ' Configure chart appearance chart.SetTitle("Sales Performance") chart.SetLegendPosition(LegendPosition.Bottom) ' Plot the chart and save the workbook chart.Plot() workbook.SaveAs("sales-with-chart.xlsx") $vbLabelText $csharpLabel 輸出 CreateChart 方法接受圖表類型和四個定位參數(上行、左列、下行、右列)。 AddSeries 方法將工作表單元格區域連結到圖表座標軸,從而建立動態視覺化效果,並在基礎資料變更時進行更新。 IronXL透過 ChartType 枚舉支援長條圖、長條圖、折線圖、面積圖和圓餅圖類型。 有關支援的圖表配置的完整列表,請參閱IronXL圖表教學。 如何將CSV檔案轉換為DataTable,然後再轉換為Excel? 對於需要在匯出前進行資料處理的場景,透過 DataTable 轉換 CSV 資料可提供最大的靈活性。 這種方法允許開發人員在轉換過程中使用標準的.NET資料存取模式來篩選、轉換、排序或驗證行。 using IronXL; using System.Data; // Load CSV file into workbook WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Convert worksheet to DataTable for manipulation DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true); // Filter rows -- keep only rows where the third column value is greater than 100 DataRow[] filtered = table.Select("Column3 > 100"); DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone(); // Create new workbook from modified data WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data"); // Import filtered DataTable back into Excel outputSheet.LoadFromDataTable(filteredTable, true); // Save the final XLSX file outputWorkbook.SaveAs("processed-output.xlsx"); using IronXL; using System.Data; // Load CSV file into workbook WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Convert worksheet to DataTable for manipulation DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true); // Filter rows -- keep only rows where the third column value is greater than 100 DataRow[] filtered = table.Select("Column3 > 100"); DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone(); // Create new workbook from modified data WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data"); // Import filtered DataTable back into Excel outputSheet.LoadFromDataTable(filteredTable, true); // Save the final XLSX file outputWorkbook.SaveAs("processed-output.xlsx"); Imports IronXL Imports System.Data ' Load CSV file into workbook Dim sourceWorkbook As WorkBook = WorkBook.LoadCSV("input.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") ' Convert worksheet to DataTable for manipulation Dim table As DataTable = sourceWorkbook.DefaultWorkSheet.ToDataTable(True) ' Filter rows -- keep only rows where the third column value is greater than 100 Dim filtered As DataRow() = table.Select("Column3 > 100") Dim filteredTable As DataTable = If(filtered.Length > 0, filtered.CopyToDataTable(), table.Clone()) ' Create new workbook from modified data Dim outputWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim outputSheet As WorkSheet = outputWorkbook.CreateWorkSheet("Processed Data") ' Import filtered DataTable back into Excel outputSheet.LoadFromDataTable(filteredTable, True) ' Save the final XLSX file outputWorkbook.SaveAs("processed-output.xlsx") $vbLabelText $csharpLabel 輸出 ToDataTable 方法將工作表資料匯出至.NET DataTable,布林參數控制是否將第一行視為列標題。 LoadFromDataTable 將資料匯入回去,當第二個參數為 true 時,將列標題寫入第一行。 這種雙向轉換使得在 CSV 導入和 Excel 輸出之間能夠充分利用 LINQ 和.NET作業。 請查看IronXL DataTable 文件以了解更多選項。 如何將 XLSX 檔案儲存到串流而不是檔案路徑? 伺服器端應用程式通常需要將 Excel 檔案直接透過 HTTP 回應提供,而不是將暫存檔案寫入磁碟。 IronXL支援為此目的將工作簿儲存至 MemoryStream。 using IronXL; using System.IO; // Load and convert CSV data WorkBook workbook = WorkBook.LoadCSV("report-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Save workbook to a memory stream instead of a file using MemoryStream stream = new MemoryStream(); workbook.SaveAs(stream); // Reset stream position for reading stream.Position = 0; // The stream is now ready to pass to an HTTP response, upload to cloud storage, // or attach to an email. For ASP.NET Core: // return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"); // Write bytes to verify stream contains XLSX data byte[] xlsxBytes = stream.ToArray(); Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes"); using IronXL; using System.IO; // Load and convert CSV data WorkBook workbook = WorkBook.LoadCSV("report-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); WorkSheet sheet = workbook.DefaultWorkSheet; // Save workbook to a memory stream instead of a file using MemoryStream stream = new MemoryStream(); workbook.SaveAs(stream); // Reset stream position for reading stream.Position = 0; // The stream is now ready to pass to an HTTP response, upload to cloud storage, // or attach to an email. For ASP.NET Core: // return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"); // Write bytes to verify stream contains XLSX data byte[] xlsxBytes = stream.ToArray(); Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes"); Imports IronXL Imports System.IO ' Load and convert CSV data Dim workbook As WorkBook = WorkBook.LoadCSV("report-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") Dim sheet As WorkSheet = workbook.DefaultWorkSheet ' Save workbook to a memory stream instead of a file Using stream As New MemoryStream() workbook.SaveAs(stream) ' Reset stream position for reading stream.Position = 0 ' The stream is now ready to pass to an HTTP response, upload to cloud storage, ' or attach to an email. For ASP.NET Core: ' Return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx") ' Write bytes to verify stream contains XLSX data Dim xlsxBytes As Byte() = stream.ToArray() Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes") End Using $vbLabelText $csharpLabel 儲存到流中可以避免磁碟讀取/寫入操作,並且無需清理臨時檔案。 這種模式廣泛用於ASP.NET Core檔案下載端點,其中 XLSX 檔案是按需產生的。 SaveAs(Stream) 重載將完整的、有效的 XLSX 歸檔寫入任何可寫流實例。 如何在轉換後的工作簿中處理多個工作表? 一個 XLSX 工作簿可以包含多個工作表。 轉換 CSV 檔案後,工作簿預設只有一個工作表。 可以透過程式設計方式建立其他工作表來組織相關資料。 using IronXL; // Load primary CSV data WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Rename the default sheet created from the CSV WorkSheet q1Sheet = workbook.DefaultWorkSheet; q1Sheet.Name = "Q1 Data"; // Create additional worksheets for summary information WorkSheet summarySheet = workbook.CreateWorkSheet("Summary"); // Write summary headers and formulas summarySheet["A1"].Value = "Total Records"; summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1"; summarySheet["A2"].Value = "Data Sheet"; summarySheet["B2"].Value = q1Sheet.Name; // Save the multi-sheet workbook workbook.SaveAs("multi-sheet-report.xlsx"); using IronXL; // Load primary CSV data WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Rename the default sheet created from the CSV WorkSheet q1Sheet = workbook.DefaultWorkSheet; q1Sheet.Name = "Q1 Data"; // Create additional worksheets for summary information WorkSheet summarySheet = workbook.CreateWorkSheet("Summary"); // Write summary headers and formulas summarySheet["A1"].Value = "Total Records"; summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1"; summarySheet["A2"].Value = "Data Sheet"; summarySheet["B2"].Value = q1Sheet.Name; // Save the multi-sheet workbook workbook.SaveAs("multi-sheet-report.xlsx"); Imports IronXL ' Load primary CSV data Dim workbook As WorkBook = WorkBook.LoadCSV("quarterly-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",") ' Rename the default sheet created from the CSV Dim q1Sheet As WorkSheet = workbook.DefaultWorkSheet q1Sheet.Name = "Q1 Data" ' Create additional worksheets for summary information Dim summarySheet As WorkSheet = workbook.CreateWorkSheet("Summary") ' Write summary headers and formulas summarySheet("A1").Value = "Total Records" summarySheet("B1").Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1" summarySheet("A2").Value = "Data Sheet" summarySheet("B2").Value = q1Sheet.Name ' Save the multi-sheet workbook workbook.SaveAs("multi-sheet-report.xlsx") $vbLabelText $csharpLabel CreateWorkSheet 方法在工作簿中新增一個新的空白工作表。 工作表可透過名稱或索引存取工作表,網址為 workbook.WorkSheets。 跨工作表公式引用使用標準的 Excel 表示法 'SheetName'!CellRef。 有關多工作表操作的更多信息,請參閱IronXL多工作表指南。 下一步計劃是什麼? 使用IronXL在 C# 中將 CSV 檔案轉換為 XLSX 只需幾行程式碼,即可產生完全相容的 Excel 工作簿,而無需任何 Microsoft Office 依賴項。 以上範例涵蓋了完整的工作流程——從基本的 CSV 載入和儲存到編碼處理、儲存格格式化、圖表建立、DataTable 整合、流輸出和多工作表工作簿。 本指南涵蓋的關鍵功能: 使用 WorkBook.LoadCSV 和 SaveAs 進行基本的 CSV 到 XLSX 轉換 國際字符集的編碼規範 轉換後套用儲存格和區域格式 圖表建立直接嵌入到 XLSX 檔案中 數據表往返於過濾和轉換後的數據 用於伺服器端檔案傳輸的 MemoryStream 輸出 從單一 CSV 來源建立多工作表工作簿 IronXL支援在 Windows、Linux、macOS、Docker 和 Azure 上部署,支援.NET Framework、 .NET Core和.NET 5 至 10。若要了解更多功能,請查看IronXL文件、瀏覽Excel API 物件參考,或查看IronXL操作指南,以了解讀取 Excel 檔案、合併儲存格和應用程式公式等主題。 下載免費試用版,在開發環境中測試所有功能;或購買許可證,用於生產環境部署。 立即開始在您的項目中使用 IronXL 並免費試用。 第一步: 免費啟動 常見問題解答 如何在 C# 中不使用 Microsoft Office 將 CSV 檔案轉換為 XLSX? 請使用 IronXL 的 WorkBook.LoadCSV 方法載入 CSV 檔案,然後呼叫 workbook.SaveAs('output.xlsx') 來寫入 XLSX 檔案。IronXL 無需 Microsoft Office 或 Open XML SDK —— 它使用自有的解析器來讀取和寫入 Excel 檔案。 在 C# 中,使用哪個 NuGet 套件可將 CSV 轉換為 Excel? 請透過 Visual Studio 中的 'Install-Package IronXL' 或 .NET CLI 中的 'dotnet add package IronXL' 安裝 IronXL NuGet 套件。此套件適用於 .NET Framework 4.6.2 及以上版本,以及所有 .NET Core 和 .NET 5 至 10 執行環境。 使用 IronXL 載入 CSV 檔案時,該如何指定分隔符? 請將 ListDelimiter 參數傳遞給 WorkBook.LoadCSV,例如:對於以逗號分隔的檔案,使用 WorkBook.LoadCSV('data.csv', fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ',');對於以分號分隔的檔案,則使用 ListDelimiter: ';'。 IronXL 能否處理包含非 ASCII 或國際字元的 CSV 檔案? 是的。請將 System.Text.Encoding 實例傳遞給 LoadCSV 的 encoding 參數。IronXL 會自動偵測大多數標準檔案的 UTF-8 編碼。若使用 Windows-1252、ISO-8859-1 或其他編碼,請明確指定編碼以保留國際化字元。 如何使用 IronXL 將圖表新增至由 CSV 資料生成的 Excel 檔案中? 載入 CSV 檔案後,請呼叫 worksheet.CreateChart(ChartType.Column, top, left, bottom, right) 來建立圖表,接著使用 chart.AddSeries 連結儲存格範圍,並在儲存前呼叫 chart.Plot()。IronXL 支援柱狀圖、條形圖、線圖、面積圖及圓餅圖等圖表類型。 如何在 .NET Core 中將生成的 XLSX 檔案儲存至 MemoryStream 以供 HTTP 回應使用? 呼叫 workbook.SaveAs(stream),其中 stream 為 MemoryStream 實例,然後在傳回前將 stream.Position 重設為 0。在 .NET Core 控制器中,傳回 File(stream, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'report.xlsx')。 IronXL 能否在寫入 Excel 之前,將 CSV 資料轉換為 DataTable? 是的。請使用 LoadCSV 載入 CSV 檔案,接著呼叫 workbook.DefaultWorkSheet.ToDataTable(true) 將資料匯出至 DataTable。在過濾或轉換資料後,建立一個新工作簿,並呼叫 outputSheet.LoadFromDataTable(table, true) 將修改後的資料匯入。 IronXL 在從 CSV 轉換時是否支援多個工作表? 是的。載入 CSV 檔案後,工作簿會包含一個預設工作表。請呼叫 workbook.CreateWorkSheet('SheetName') 來新增工作表。各工作表可透過標準的 Excel 跨工作表公式語法相互參照。 IronXL 支援哪些 .NET 版本與平台? IronXL 支援 .NET Framework 4.6.2 及後續版本、.NET Core 3.1,以及 .NET 5 至 .NET 10。它可在 Windows、Linux、macOS、Docker 和 Azure 上運行,因此適用於桌面端和伺服器端的部署。 在 CSV 轉換後,該如何套用儲存格格式(例如加粗標題和數字格式)? 載入 CSV 檔案後,透過 sheet['A1:Z1'] 存取一個範圍,並設定 Style.Font.Bold = true、Style.SetBackgroundColor('#hex') 或 Style.NumberFormat = '$#,##0.00'。IronXL 透過儲存格和範圍的 Style 屬性,提供完整的 Excel 樣式設定 API。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 更新2026年3月1日 在ASP.NET C#中下載Excel文件:將數據匯出到XLSX,CSV和更多格式 使用C#和IronXL在ASP.NET Core中下載Excel文件。從MVC控制器中匯出數據到XLSX, CSV和XML,附有MemoryStream和File()返回。包括代碼範例。 閱讀更多 更新2026年3月1日 如何在Blazor中使用IronXL匯出Excel文件 學習如何在Blazor伺服器應用程式中使用IronXL将數據匯出到Excel。此指南涵蓋專案設置、服務設計、條件格式化、多表報告和錯誤處理,附有完整的C#代碼範例。 閱讀更多 更新2026年2月27日 如何在C#中而不是使用StreamReader來讀取Excel文件 了解StreamReader為何無法讀取Excel文件,並學習如何使用IronXL加載來自磁盤或內存流的XLSX和XLS工作簿。 閱讀更多 構建適用於.NET Core的Excel API:創建、讀取和匯出XLSX文件C# CSV 庫:使用 IronXL 的完...
更新2026年3月1日 在ASP.NET C#中下載Excel文件:將數據匯出到XLSX,CSV和更多格式 使用C#和IronXL在ASP.NET Core中下載Excel文件。從MVC控制器中匯出數據到XLSX, CSV和XML,附有MemoryStream和File()返回。包括代碼範例。 閱讀更多
更新2026年3月1日 如何在Blazor中使用IronXL匯出Excel文件 學習如何在Blazor伺服器應用程式中使用IronXL将數據匯出到Excel。此指南涵蓋專案設置、服務設計、條件格式化、多表報告和錯誤處理,附有完整的C#代碼範例。 閱讀更多
更新2026年2月27日 如何在C#中而不是使用StreamReader來讀取Excel文件 了解StreamReader為何無法讀取Excel文件,並學習如何使用IronXL加載來自磁盤或內存流的XLSX和XLS工作簿。 閱讀更多