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;
            }
        }
复制代码

 

posted on   五官一体即忢  阅读(62)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示