c#创建文件并写入数据导出到前端
[AcceptVerbs("GET")]
public ActionResult GetColumnLinkCallBack()
{
//允许ajax跨域
Response.AppendHeader("Access-Control-Allow-Origin", "*");
List<object> list = new List<object>();
var createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var json1 = new
{
url = "http://baidu.com",
columnName = "test",
level = 1,
webId = 202307240913,
createTtime = createTime,
isColumn = 0,
flag = 1
};
list.Add(json1);
string outPath = ContextPath + @"template\columnlink\栏目链接.jsonp";
FileStream fs = null;
if (!System.IO.File.Exists(outPath))
{
fs = new FileStream(outPath, FileMode.Create, FileAccess.Write);
}
else
{
fs = new FileStream(outPath, FileMode.Open, FileAccess.Write);
}
//开始写入
StreamWriter sw = new StreamWriter(fs);
string lines = ConvertJsonString(JsonConvert.SerializeObject(list));
sw.WriteLine(lines);
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
return File(outPath, "application/vnd.ms-excel;charset=utf-8", "栏目链接导出.jsonp");
}
/// <summary> /// 字符串转json字符串 /// </summary> /// <param name="str"></param> /// <returns></returns> private static string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(str); JsonTextReader jtr = new JsonTextReader(tr); object obj = serializer.Deserialize(jtr); if (obj != null) { StringWriter textWriter = new StringWriter(); JsonTextWriter jsonWriter = new JsonTextWriter(textWriter) { Formatting = Formatting.Indented, Indentation = 4, IndentChar = ' ' }; serializer.Serialize(jsonWriter, obj); return textWriter.ToString(); } else { return str; } }
吾乃代码搬运工,侵联删
浙公网安备 33010602011771号