componentone生成excel示例

来源:互联网 发布:国信弘盛怎么样知乎 编辑:程序博客网 时间:2024/06/01 08:47

   public void ExportData(DataTable dt)
    {
        using (C1.C1Excel.C1XLBook book = new C1.C1Excel.C1XLBook())
        {

            XLSheet sheet = book.Sheets[0];
           

                if (dt != null)
                {
                    for (int col = 0; col < dt.Columns.Count; col += 1)
                    {
                        if (dt.Columns[col].ColumnName == "ItemPic")
                            continue;   

                        sheet[0, col].Value = dt.Columns[col].ColumnName;
                    }

                    int rowIndex = 1;
                    foreach (DataRow row in dt.Rows)
                    {
                        sheet.Rows[rowIndex].Height = 1600;
                        for (int col = 0; col < dt.Columns.Count; col += 1)
                        {

                            if (col == 8)
                                continue;

                            if (col + 1 != dt.Columns.Count)
                            {
                                sheet[rowIndex, col].Value = row[col];
                               
                            }
                            else
                            {
                                System.Drawing.Image img = this.ReturnPhoto(getByte(row["ItemPic"].ToString()));
                                XLPictureShape picture = new XLPictureShape(img, 100, 100, 1600, 1400);
                                picture.DashedLineStyle = XLShapeDashedLineStyleEnum.Solid;
                                picture.LineStyle = XLShapeLineStyleEnum.Simple;
                                picture.LineColor = System.Drawing.Color.BlueViolet;
                                picture.Rotation = 90.0F;
                                sheet[rowIndex, col].Value = picture;
                                sheet.Columns[col].Width = 1800; //插入一个图片
                            }
                        }

                        rowIndex += 1;
                    }
                }


            // eu.SetFontSize(1, 9);

            // eu.SetAutoFit(1);

              string path = Server.MapPath("../../temp/")+Guid.NewGuid().ToString() + ".xls";
           
            book.Save(path);
            //eu.SaveAs(path);

            // eu.CloseWorkbook();

            FileInfo fi = new System.IO.FileInfo(path);

            Response.Clear();
            Response.ClearHeaders();
            Response.Buffer = false;
            Response.ContentType = "application/Excel";
            Response.AddHeader("Content-Disposition", "attachment;filename=TradeMarkSummary.xls");
            Response.AddHeader("Content-Length", fi.Length.ToString());
            Response.WriteFile(fi.FullName);
            Response.Flush();
            System.IO.File.Delete(path);
            Response.End();
        }
    }

原创粉丝点击