如何将C#代码片段原样输出到控制台、Excel或Word等文件?
解决方案
1. 控制台原样输出(以C#为例)
要保留代码的换行、缩进和特殊字符(如双引号),最简便的方式是使用逐字字符串(以@开头),其中双引号需要用两个连续的双引号转义。示例代码:
string code = @"if(BA == True) { Console.Writeline(""Okay"") };"; Console.WriteLine(code);
运行这段代码后,控制台会完全复刻你提供的代码格式。
2. 输出到Excel
使用EPPlus库(通过NuGet安装),将代码片段写入单元格时,需设置单元格格式为文本,避免Excel将代码识别为公式:
using OfficeOpenXml; using System.IO; var excelFile = new FileInfo("CodeOutput.xlsx"); using (var package = new ExcelPackage(excelFile)) { var sheet = package.Workbook.Worksheets.Add("CodeSnippet"); // 写入代码片段 sheet.Cells["A1"].Value = @"if(BA == True) { Console.Writeline(""Okay"") };"; // 设置单元格为文本格式 sheet.Cells["A1"].Style.Numberformat.Format = "@"; package.Save(); }
3. 输出到Word
使用DocX库(NuGet可安装),插入代码段落并可设置等宽字体保持格式一致性:
using Novacode; var doc = DocX.Create("CodeOutput.docx"); var codePara = doc.InsertParagraph(@"if(BA == True) { Console.Writeline(""Okay"") };"); // 设置等宽字体(可选,让代码排版更整齐) codePara.Font(new System.Drawing.FontFamily("Consolas")); doc.Save();
核心要点
- 所有场景的关键是保留原始字符串的格式:逐字字符串
@""会原样保留换行、缩进,仅需转义双引号(写成"")。 - 写入文件时,需确保目标程序(Excel/Word)将内容识别为纯文本,避免自动解析格式或公式。
内容的提问来源于stack exchange,提问作者Dex DBadAss
相关产品推荐
相关产品推荐

