以Mime方式列印Excel

1.    清除HTML 內容

         Response.Clear();

2.    定義要匯出的文件格式及文件名稱

         Response.AddHeader("content-disposition" , "attachment;filename=TestReprot.xls" );

            Response.ContentType = "application/xls" ;

            Response.Write("<meta http-equiv='Content-Type'; content='text/html';charset='utf-8'>" );

3.    String 變量中填寫要匯出的內容

         strData = @"<table width ='90%'>

                                <tr valign='middle'>

                                     <td style='font-family: Arial' colspan='2' align='center'>

                                        Test

                                    </td>

                                </tr>

                                <tr valign='middle'>

                                    <td style='font-family: Arial; vnd.ms-excel.numberformat:#,##0.0'>

                                        9999.99

                                    </td>

                                    <td style='font-family: Arial'align='right'>

                                        中文

                                    </td>

                                </tr>

</table>" ;

4.    將內容寫入頁面,結束

         Response.Write(strData);

            Response.End();

5.    如果要在匯出的Excel 文件中顯示圖表:

甲、 創建實例及畫板:

        // 初始化 Bitmap 类实例与 Graphics 类实例准备画图

          Bitmap myPalette = new Bitmap (800, 600); // 创建800*600 的画板

     Graphics myGraphics = Graphics .FromImage(myPalette);

乙、 繪製背景

// 绘制白色背景

           myGraphics.FillRectangle(new SolidBrush (Color .White), 0, 0, 800, 600);

丙、 繪製文本

       // 绘制文本

    myGraphics.DrawString(" 圖表" , new System.Drawing.Font ("Times New Roman" , 14, System.Drawing.FontStyle .Bold | System.Drawing.FontStyle .Italic), new SolidBrush (Color .Black), new Rectangle (10, 5, 800, 20), stringFormat);

丁、 格線

       // 割線

    myGraphics.FillRectangle(new SolidBrush (Color .Black), 10, 150, 780, 1);

戊、 直接将图片以二进制流的方式输出到Response 对象的输出流

      // 直接将图片以二进制流的方式输出到 Response 对象的输出流。

        String strbaser64 = "" ;

        MemoryStream ms = new MemoryStream ();

        myPalette.Save(ms, ImageFormat .Jpeg);

        byte [] bytes ={ };

        bytes = ms.ToArray();

        ms.Close();

        strbaser64 = Convert .ToBase64String(bytes);


注意事項:

1.    文件名請使用英文

2.    內容使用XML 格式,比如我們常用到的table 標籤,樣式的設定完全套用HTML 的屬性

3.    Excel 格式設定屬性:

         1 文本: vnd.ms-excel.numberformat:@
2
日期: vnd.ms-excel.numberformat:yyyy/mm/dd
3
数字: vnd.ms-excel.numberformat:#,##0.00
4
货币: vnd.ms-excel.numberformat: #,##0.00
5
百分比: vnd.ms-excel.numberformat: #0.00%

        例: <td style="vnd.ms-excel.numberformat:@">410522198402161833</td>

4.    在繪製圖表時,內容中的標籤屬性值一定要加上”3D” ,如果沒有圖表,可以不用

5. 在繪製圖表時,組建的HTML 語句請不要進行縮排,全部頂到頭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值