zoukankan      html  css  js  c++  java
  • 导出CSV 换行问题。

    程序方面:

    1.Windows 中的换行符" "

    2.Unix/Linux 平台换行符是 " "。

    3.MessageBox.Show() 的换行符为 " "

    4.Console 的换行符为 " "

    为保持平台的通用性,可以用系统默认换行符 System.Environment.NewLine。

    sql server:换行

    select subscriber_id,subscriber_email,company_name from [dbo].[NewsLetterSystem_Subscriber]
    where subscriber_id=6967035
    
    update [NewsLetterSystem_Subscriber] 
    set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(13)+CHAR(10) +N'安聯餐飲設備有限公司'
    where subscriber_id=6967035
    
    update [NewsLetterSystem_Subscriber] 
    set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(10) +N'安聯餐飲設備有限公司'
    where subscriber_id=6967035
    
    
    update [NewsLetterSystem_Subscriber] 
    set company_name=N'ALLY CATERING SOLUTION LIMITED'+CHAR(13) +N'安聯餐飲設備有限公司'
    where subscriber_id=6967035

    C# 程序:

      public static string ExportReportInCsv(DataTable dt, string filename, string tmpDir)
            {
                string tmpFilename = DateTime.Now.Ticks + "_" + filename;
                string tmpFilenameWithPath = tmpDir + tmpFilename;
                FileStream fs = new FileStream(tmpFilenameWithPath, System.IO.FileMode.Create, System.IO.FileAccess.Write);
                //var encoding = GetFileEncodeType(fs);
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
                StringBuilder sb = new StringBuilder();
                //写出列名称
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    sb.Append(dt.Columns[i].ColumnName.ToString());
                    if (i < dt.Columns.Count - 1)
                    {
                        sb.Append(",");
                    }
                }
                sw.WriteLine(sb.ToString());
    
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    sb.Clear();
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        string rowsText = dt.Rows[i][j].ToString();
                        rowsText = HandleWrap(rowsText);
                        sb.Append(rowsText);
                        if (j < dt.Columns.Count - 1)
                        {
                            sb.Append(",");
                        }
                    }
                    sw.WriteLine(sb.ToString());
                }
                sw.Close();
                fs.Close();
                return tmpFilenameWithPath;
            }
    
    
      public static string HandleWrap(string content)
            {
                if (content.Contains(Environment.NewLine))
                {
                    var list = content.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                    content = string.Join(" ",list);
                }
      
                content = content.Replace(@"
    ", " ").Replace(@"
    ", " ").Replace((char)13,' ').Replace((char)10, ' ');
                return content;
            }
  • 相关阅读:
    富文本ZSSRichTextEditor之趟坑集锦
    iOS11及Xcode9适配问题汇总
    XIB中拖UIScrollView的困难
    Glide加载图片问题记录
    微信关注事件bug记录
    kswapd0 进程 设置 swap
    AJAX请求返回HTTP 400 错误
    通过jQuery Ajax提交表单数据时同时上传附件
    JS---DOM---事件冒泡和阻止事件冒泡,总结事件
    JS---DOM---为元素绑定事件和解绑事件的兼容代码
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/7340077.html
Copyright © 2011-2022 走看看