我需要出口日期,标题和说明,以excel文件,现在我面临两个问题与Excel文件的出口。
一个特殊字符,例如qazxsw POI和其他字符变成qazxsw POI qazxsw POI等....
所有这些问题都与描述列,它存储在HTML格式的文本。下面是各种格式的文本的例子
实际文本“高尔夫季开幕”标记的,在高尔夫俱乐部,赛季正式开通,开始于2018年3月10。
文本数据库MS SQL Server存储
在“高尔夫季开幕“标记的,在高尔夫俱乐部赛季正式开通,开始于3月10日和2018。
导出到Excel中的“高尔夫季开幕“文本标记的,在高尔夫俱乐部赛季正式开通,开始于3月10日和2018。
我使用下面的代码来创建Excel文件,但我面临的上述问题。
我怎么能存储文本没有被解码文本是Excel的应该是文本格式的商店和所有的特殊字符正确显示没有任何问题
',"
任何帮助,以固定上述问题,并且如果我们能在说明栏中自动换行,如果行可以根据包装的文字自动高度。
只提我使用‘
为Excel导出
你可以在一个字符串替换
&
解决了这两个问题与下面的代码
首先通过使用HTML var wb = new XLWorkbook();
var ws = wb.Worksheets.Add("Calendar");
DataTable dt = ds.Tables[0];
var rowIndex = 2; // 1 = header row
foreach (DataRow row in dt.Rows)
{
ws.Cell("A" + rowIndex).Value = row["Year"];
ws.Cell("B" + rowIndex).Value = row["Title"];
string noHTML = Regex.Replace(row["Description"].ToString(), @"<[^>]+>| ", "").Trim();
string noHTMLNormalised = Regex.Replace(noHTML, @"\s{2,}", " ");
ws.Cell("C" + rowIndex).Value = noHTMLNormalised;
rowIndex++;
}
//// From worksheet
var rngTable = ws.Range("A1:C" + rowIndex);
var rngHeader = ws.Range("A1:C1");
var rngYear = ws.Range("A2:A" + rowIndex);
//var rngDate = ws.Range("B2:B" + rowIndex);
var rngTitle = ws.Range("B2:D" + rowIndex);
var rngDesc = ws.Range("C2:C" + rowIndex);
rngHeader.Style.Fill.SetBackgroundColor(XLColor.CoolGrey);
rngHeader.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
rngHeader.Style.Font.Bold = true;
rngHeader.Style.Font.FontColor = XLColor.White;
// rngYear.Style.Fill.SetBackgroundColor(XLColor.CoolGrey);
rngYear.Style.Font.Bold = true;
rngYear.Style.Font.FontColor = XLColor.Black;
rngYear.Style.Alignment.Indent = 1;
//rngDate.Style.DateFormat.Format = "MM/DD/YYYY";
//rngDate.Style.Alignment.Indent = 10;
rngDesc.Style.Alignment.SetWrapText();
ws.RangeUsed().Style.Border.OutsideBorder = XLBorderStyleValues.Thick;
var col3 = ws.Column("C");
//col3.Style.Fill.BackgroundColor = XLColor.Red;
col3.Width = 100;
ws.Columns().AdjustToContents();
string fileName;
fileName = "Golf_Calendat.xlsx";
wb.SaveAs(HttpContext.Current.Server.MapPath("../excel/" + fileName));
using Excel = Microsoft.Office.Interop.Excel;
和文本换行的问题与str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
HttpUtility.HtmlDecode