zoukankan      html  css  js  c++  java
  • excel导出

    第一种导出

         private void ExportExcel(DataTable exceldt)
            {
                string FileName = "";
                FileName = "投诉建议" + DateTime.Now.ToString("MMddHHmm");
                string bname = GetClientBrowserVersions().ToLower();
                if (bname.Contains("firefox"))
                {
                }
                else if (bname.Contains("ie"))
                {
                    FileName = HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);
                }
                else
                {
                    FileName = HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);
                }
    
                HttpResponse resp;
                resp = Page.Response;
                resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName + ".xls");
                string colHeaders = "", ls_item = "";
                DataRow[] myRow = exceldt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
                int cl = exceldt.Columns.Count;
                for (int i = 0; i < 5; i++)
                {
                    if (i == 0)
                    {
                        colHeaders += "姓名	";
                    }
                    else if (i == 1)
                    {
                        colHeaders += "域账号	";
                    }
                    else if (i == 2)
                    {
                        colHeaders += "部门	";
                    }
                    else if (i == 3)
                    {
                        colHeaders += "录入时间	";
                    }
                    else if (i == 4)
                    {
                        colHeaders += "建议内容
    ";
                    }
                }
                resp.Write(colHeaders);
                //向HTTP输出流中写入取得的数据信息 
                //逐行处理数据  
                foreach (DataRow row in myRow)
                {
                    //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据   
                    for (int i = 0; i < 5; i++)
                    {
                        if (i == 0)
                        {
                            ls_item += row["name"] + "	";
                        }
                        else if (i == 1)
                        {
                            ls_item += row["account"] + "	";
                        }
                        else if (i == 2)
                        {
                            ls_item += row["department"] + "	";
                        }
                        else if (i == 3)
                        {
                            ls_item += row["add_time"] + "	";
                        }
                        else if (i == 4)
                        {
                            ls_item += Utils.DropHTML(row["suggestion"].ToString()) + "
    ";
                        }
                    }
                    resp.Write(ls_item);
                    ls_item = "";
                }
                resp.End();
            }

     第二种方法

      public static bool ExportExcelWithAspose(DataTable dt, string path)
            {
                bool succeed = false;
                if (dt != null)
                {
                    try
                    {
                        Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
                        Aspose.Cells.Worksheet cellSheet = workbook.Worksheets[0];
                        //为单元格添加样式      
                        Aspose.Cells.Style style = workbook.Styles[workbook.Styles.Add()];
                        //设置居中  
                        style.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
                        //设置背景颜色  
                        style.ForegroundColor = System.Drawing.Color.FromArgb(153, 204, 0);
                        style.Pattern = BackgroundType.Solid;
                        style.Font.IsBold = true;
                        int rowIndex = 0;
                        int colIndex = 0;
                        int colCount = dt.Columns.Count;
                        int rowCount = dt.Rows.Count;
                        //列名的处理  
                        Aspose.Cells.Style cellstyle = new Aspose.Cells.Style();
                        cellstyle.Font.IsBold = true;
                        cellstyle.Font.Name = "宋体";
                        for (int i = 0; i < colCount; i++)
                        {
                            cellSheet.Cells[rowIndex, colIndex].PutValue(dt.Columns[i].ColumnName);
                            cellSheet.Cells[rowIndex, colIndex].SetStyle(cellstyle);
                            colIndex++;
                        }
                        rowIndex++;
                        for (int i = 0; i < rowCount; i++)
                        {
                            colIndex = 0;
                            for (int j = 0; j < colCount; j++)
                            {
                                cellSheet.Cells[rowIndex, colIndex].PutValue(dt.Rows[i][j].ToString());
                                colIndex++;
                            }
                            rowIndex++;
                        }
                        cellSheet.AutoFitColumns();
                        path = Path.GetFullPath(path);
                        workbook.Save(path);
                        succeed = true;
                    }
                    catch (Exception ex)
                    {
                        succeed = false;
                    }
                }
                return succeed;
            }
  • 相关阅读:
    java实现第三届蓝桥杯填算式
    java实现第三届蓝桥杯填算式
    微信--高效解决token及授权用户openid的持久化处理办法
    微信开发学习总结——微信开发入门(转)
    Java 微信公众号开发--- 接入微信
    微信开发工具类
    手把手教你反编译别人的app
    马士兵hadoop第五课:java开发Map/Reduce(转)
    马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解(转)
    马士兵hadoop第三课:java开发hdfs(转)
  • 原文地址:https://www.cnblogs.com/sunzhenyong/p/4633446.html
Copyright © 2011-2022 走看看