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

  • 相关阅读:
    java实现冒泡排序
    使用telnet测试指定端口的连通性
    聊聊Java中的异常及处理
    Java工具类——数学相关的类
    谈谈javaSE中的==和equals的联系与区别
    如何在Vim中更改颜色和主题
    配置类为什么要添加@Configuration注解呢?
    你知道Spring是怎么解析配置类的吗?
    读源码,我们可以从第一行读起
    Spring杂谈 | Spring中的AutowireCandidateResolver
  • 原文地址:https://www.cnblogs.com/wdfrog/p/15225840.html
Copyright © 2011-2022 走看看