当前位置: 首页 > news >正文

DevExpress.XtraGrid.GridControl导出excel需要添加表头

 string head = ""; 

  head += "单号 \t" + txtcCode.Text ;

   string foot = "";
                foot += "制单人 \t" + "制单日期 \t" + "审核人: \t" + "审核日期 \t" + "修改人 \t" + "修改日期 \t" + "运算日期 \t" + "报价日期 \t" + "弃审人 \t" + "弃审日期 \t" + " \n";
              

using (MemoryStream ms = new MemoryStream())
                {
                    gridControl1.ExportToText(ms);

                    ms.Position = 0;
                    List<string> rows = new List<string>();
                    using (var reader = new StreamReader(ms, Encoding.Default))
                    {
                        string line;
                        while ((line = reader.ReadLine()) != null)
                        {
                            rows.Add(line);
                        }
                    }

                    Dbdal.ExportExcelByStr(rows, true, head, foot);
                }

 public static void ExportExcelByStr(List<string> rows, bool showHide, string head, string foot = "")
        {


            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "Execl   files   (*.xls)|*.xls";
            saveFileDialog.FilterIndex = 0;
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.CreatePrompt = true;
            saveFileDialog.Title = "导出Excel文件到";

            DateTime now = DateTime.Now;
            saveFileDialog.FileName = now.Year.ToString().PadLeft(2)
            + now.Month.ToString().PadLeft(2, '0')
            + now.Day.ToString().PadLeft(2, '0') + "-"
            + now.Hour.ToString().PadLeft(2, '0')
            + now.Minute.ToString().PadLeft(2, '0')
            + now.Second.ToString().PadLeft(2, '0');

            if (DialogResult.Cancel == saveFileDialog.ShowDialog())
            {
                return;
            }


            Stream myStream;
            myStream = saveFileDialog.OpenFile();
            StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"));
            string str = head;
            try
            {
                sw.WriteLine(str);

                foreach (string row in rows)
                {
                    sw.WriteLine(row);
                }


                if (!string.IsNullOrEmpty(foot))
                {
                    sw.WriteLine(foot);
                }

                sw.Close();
                myStream.Close();

                MessageBox.Show("导出成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                sw.Close();
                myStream.Close();
            }

        }
 

http://www.lryc.cn/news/63581.html

相关文章:

  • 守护进程Daemon
  • 学生成绩管理系统 002
  • 换个花样玩C++(4)细聊C++的引用精妙之处
  • Linux安装helm
  • ATTCK v12版本战术介绍——防御规避(四)
  • Orangepi Zero2 全志H616(DHT11温湿度检测)
  • abbyy是什么软件
  • 软件测试技术(四)白盒测试
  • Java基础语法(十二):try-catch块
  • 尚融宝25-投资列表展示以及实现充值功能
  • QML基础模型(Basic Model)
  • 如果ChatGPT写作论文,保姆及教程以及问题答疑
  • 机器人中的数值优化(三)—— 无约束最优化方法基础、线搜索准则
  • vulnhub靶场之bluemoon
  • VTK 几何体连通区域分析 vtkPolyDataConnectivityFilter
  • scss、css样式中使用变量的方法;Vue动态改变css等样式文件中的变量
  • 数据治理在学术上的发展史以及未来展望
  • 【搭建博客】宝塔面板部署Typecho博客,并发布上线访问
  • 【Spring篇】IOC相关内容
  • Python超矩形
  • 【软考数据库】第五章 计算机网络
  • 深眸科技|深度学习、3D视觉融入机器视觉系统,实现生产数智化
  • DateFormat使用时需要注意:多线程下需要特殊处理
  • Packet Tracer - 研究直连路由
  • 大专生程序员找工作的一点小建议 知识分享 经验分享
  • PyCaret:低代码自动化的机器学习工具
  • 【Hello Network】网络编程套接字(三)
  • 3.4 只读存储器
  • 从后端开发转大数据开发怎么样?
  • 编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?