-
-
Notifications
You must be signed in to change notification settings - Fork 399
Open
Description
Excel Type
- XLSX
Excel的公司邮箱列与联系人邮箱列,内容是[email protected],判断合并标记的时候不是全字匹配的
代码如下:
var str = "[{\"QQ/微信\":\"@merge\\r\\n\",\"公司名称\":\"@merge\\r\\n\",\"网站\":\"@merge\\r\\n\",\"来源\":\"@merge\\r\\n\",\"名称\":\"\",\"No.\":\"@mergelimit\\r\\n\",\"更新时间\":\"\",\"国家\":\"@merge\\r\\n\",\"公司电话\":\"@merge\\r\\n\",\"标签\":\"@merge\\r\\n\",\"联系人电话\":\"\",\"公司邮箱\":\"\",\"联系人邮箱\":\"\",\"最后发件日期\":\"\"},{\"QQ/微信\":\"null\",\"公司名称\":\"AAAAA\",\"网站\":\"null\",\"来源\":\"2023\",\"名称\":\"BBBBB\",\"No.\":\"369\",\"更新时间\":\"2025-06-30 16:21:14\",\"国家\":\"中国\",\"公司电话\":\"11111\",\"标签\":\"挂\",\"联系人电话\":\"33333\",\"公司邮箱\":\"[email protected]\",\"联系人邮箱\":\"[email protected]\",\"最后发件日期\":\"2025-07-04 15:10:25\"},{\"QQ/微信\":\"null\",\"公司名称\":\"AAAAA\",\"网站\":\"null\",\"来源\":\"2023\",\"名称\":\"\",\"No.\":\"369\",\"更新时间\":\"2025-06-30 16:21:14\",\"国家\":\"中国\",\"公司电话\":\"11111\",\"标签\":\"挂\",\"联系人电话\":\"33333\",\"公司邮箱\":\"\",\"联系人邮箱\":\"\",\"最后发件日期\":\"\"},{\"QQ/微信\":\"@endmerge\\r\\n\",\"公司名称\":\"@endmerge\\r\\n\",\"网站\":\"@endmerge\\r\\n\",\"来源\":\"@endmerge\\r\\n\",\"名称\":\"\",\"No.\":\"@endmerge\\r\\n\",\"更新时间\":\"\",\"国家\":\"@endmerge\\r\\n\",\"公司电话\":\"@endmerge\\r\\n\",\"标签\":\"@endmerge\\r\\n\",\"联系人电话\":\"\",\"公司邮箱\":\"\",\"联系人邮箱\":\"\",\"最后发件日期\":\"\"}]";
bool hasMultipleLines = true;
var result = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(str);
result.Dump();
byte[] fileContent = null;
using var stream = new System.IO.MemoryStream();
var config = new MiniExcelLibs.OpenXml.OpenXmlConfiguration()
{
TableStyles = MiniExcelLibs.OpenXml.TableStyles.None,
AutoFilter = false,
EnableWriteNullValueCell = false
};
stream.SaveAs(result, true, "Sheet1", ExcelType.XLSX, config);
fileContent = stream.ToArray();
if (hasMultipleLines)
{//合并单元格
using var streamTwo = new System.IO.MemoryStream();
streamTwo.MergeSameCells(fileContent);
fileContent = streamTwo.ToArray();
}
MiniExcel Version
1.41.3
Description
Metadata
Metadata
Assignees
Labels
No labels