zoukankan      html  css  js  c++  java
  • C# 导出CSV文件

    private void ExportFileToCsv()         {             SaveFileDialog saveFileDialog =  new SaveFileDialog();             saveFileDialog.DefaultExt = "*.csv";             saveFileDialog.AddExtension = true;             saveFileDialog.Filter = "csv files|*.csv";             saveFileDialog.OverwritePrompt = true;             saveFileDialog.CheckPathExists = true;             saveFileDialog.FileName = "AnalysisData";

                if (saveFileDialog.ShowDialog() == true && saveFileDialog.FileName != null) //打开保存文件对话框             {                 string fileName = saveFileDialog.FileName;//文件名字                 using (StreamWriter streamWriter = new StreamWriter(fileName, false, Encoding.Default))                 {                     StringBuilder sb = new StringBuilder();                     sb.Append(" StartTime ").Append(","); //没一个字段后面都加逗号,表示是一列,因为这是第一行 因此也是列标题                     sb.Append(" TraceStart ").Append(",");                     sb.Append(" TraceEnd ").Append(",");                     sb.Append(" Duration ").Append(",");                     sb.Append(" Operation ").Append(",");                     sb.Append(" ColorVal ").Append(",");                     sb.Append(" Object ").Append(",");                     sb.Append(" Resource ").Append(",");                     sb.Append(" TargetResource ");                     streamWriter.WriteLine(sb.ToString());

    //要写的数据源

                        List<data> list = this.DataContext as List<data>;                     double taskTime = 0 ;                     foreach (DataAnalysisResultModel model in list)                     {                          taskTime = model.TaskTime;                         sb = new StringBuilder();                         sb.Append(StringUtil.ReplaceSpecialChars(model.StartTime + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.TraceStart + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.TraceEnd + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.Duration + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.Operation + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.ColorVal + "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.Object != null ? model.Object + "" : "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.Resource != null ? model.Resource + "" : "")).Append(",");                         sb.Append(StringUtil.ReplaceSpecialChars(model.TargetResource != null ? model.TargetResource + "" : ""));                         streamWriter.WriteLine(sb.ToString());                     }

                        sb = new StringBuilder();                     sb.Append("Trace time:") .Append(taskTime+"");                     streamWriter.WriteLine("");                     streamWriter.WriteLine("");                     streamWriter.WriteLine(sb.ToString());

                        streamWriter.Flush();                     streamWriter.Close();                 }             }

    }

     

     

    public class StringUtil     {

            /// <summary>         /// 替换特殊字符         /// </summary>         /// <param name="input">字符串</param>         /// <returns></returns>         public static string ReplaceSpecialChars(string input)         {             // space -> _x0020_ 特殊字符的替换             // % -> _x0025_             // # -> _x0023_             // & -> _x0026_             // / -> _x002F_             if (input == null) return "";             input = input.Replace(" ", "_x0020_")             .Replace("%", "_x0025_")             .Replace("#", "_x0023_")             .Replace("&", "_x0026_")             .Replace("/", "_x002F_");             return input;         }     }

    C# 导出CSV 然后用excel打开,主要是用逗号来分割开每一列


  • 相关阅读:
    httpVueLoader.js props传递参数
    iview自定义图标,render方式自定义图标
    C# MVC API WebSocket的聊天室案例
    CSS/HTML实现Switch开关按钮
    AndroidStudio打包Jar包给Unity使用的期间遇到的错误
    AndroidStudio4.0.1 打包 Jar包
    解决SVN异常 cleanup failed
    c++ sizeof的实现
    c++ 函数指针简单实例
    C++ socket 网络编程 简单聊天室
  • 原文地址:https://www.cnblogs.com/swarb/p/9924328.html
Copyright © 2011-2022 走看看