zoukankan      html  css  js  c++  java
  • SpreadsheetControl的Api操作Excel

    #region 填充Excel
                        using (var spControl = new SpreadsheetControl())
                        {
                            spControl.LoadDocument(tmpFilename);
                            var wookBook = spControl.Document;
                            var sheet = wookBook.Worksheets[cur.SheetName];
        
                            sheet.Range["A1:AZ60000"].Clear();
                            //填充标题
                            for (int i=0;i<  dt.Columns.Count;i++)
                            {
                                var c=dt.Columns[i];
                                sheet.Cells[0, i].Value = c.ColumnName;
                            }
                            //填充内容
                            for (int i = 1; i < dt.Rows.Count; i++)
                            {
                                for (int j = 0; j < dt.Columns.Count; j++)
                                {
                                    if (j == 0)
                                    {
                                        sheet.Cells[i, j].Value = dt.Rows[i][j].ToString();
                                    }
                                    else
                                    {
                                        sheet.Cells[i, j].Value =(int) dt.Rows[i][j];
                                    }
                                }
                            }
                            spControl.SaveDocument(tmpFilename);
    
                        }
                        
                        #endregion
    View Code

    using DevExpress.XtraSpreadsheet.Model;
    using DevExpress.XtraSpreadsheet;
    using DevExpress.Spreadsheet;

                try
                {
                    var cur=MainBindingSource.Current as Sys_Report;
                    
                    if (_SQLEnt == null) throw new Exception("报表必需先绑定查询");
                    sysSQLParamsBindingSource.EndEdit();
                    var paramList = sysSQLParamsBindingSource.DataSource as List<Sys_SQLParams>;
                    var excelTemplateFile = @"c:123Test.xls";
                    var ext = Path.GetExtension(excelTemplateFile);
                    var tmpFilename = Path.Combine(Path.GetTempPath(), DateTime.Now.ToString("yyyyMMddhhmmss") + ext);
                    Action act = () =>
                    {
                        var ds = Fetch<ISys_SQLService>().ExecuteDataSet(_SQLEnt.SQLNo, paramList);
                        var dt=ds.Tables[0];
    
                        File.Copy(excelTemplateFile, tmpFilename);
    
                        
    
                        //ExcelUtil.DataTable2Excel(tmpFilename, dt, cur.SheetName);
          
                        Console.WriteLine(ds);
    
                    };
                    InvokeService(act, "执行脚本...");
                    Process.Start(tmpFilename);
    
                }
                catch (Exception ex)
                {
                    ErrMsg(ex.Message);
                }
    View Code

    直接拖Spreadsheetcontorl到form上会自动添加程序集的引用

    -----------------------------------

    生成时图标就没了,这个方案不行。

    参考DevExpress带的Demo

  • 相关阅读:
    003 Rabbitmq的简单队列
    002 Rabbitmq的安装
    001 消息中间件--Rabbitmq
    013 mybatis整合
    013 Durid监控
    012 druid数据源
    011 嵌入式容器
    集成支付宝IOS
    2015起航,
    python 创建用户
  • 原文地址:https://www.cnblogs.com/wdfrog/p/15225840.html
Copyright © 2011-2022 走看看