谁有客户端调用WORD或EXECEL进行打印的源码啊?急!!!

解决方案 »

  1.   

    在客户端进行套打
    要求在 WORD 或 Execel 进行调整打印
    谁有源码啊 ??
    急!!!!
      

  2.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace DataGridToExcel
    {
    /// <summary>
    /// DataGrid_Export_Excel 的摘要说明。
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.Button Button2;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
     
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    Bind();
    }
    } #region Function Custom private void CreatCache()
    {
    System.Data.DataTable DT = new System.Data.DataTable();
    DT.Columns.Add("ID",typeof(int));
    DT.Columns.Add("Name",typeof(string));
    DT.Columns.Add("AddTime",typeof(DateTime));
    DT.Columns[0].AutoIncrement = true;
    DT.Columns[0].AutoIncrementSeed = 1;
    DT.Columns[0].AutoIncrementStep = 1;
    for(int i=0;i<20;i++)
    {
    System.Data.DataRow dr= DT.NewRow();
    dr[1] = "欢迎光临Lion互动网络,第 "+ (i+1) +" 行";
    dr[2] = System.DateTime.Now.AddDays(1);
    DT.Rows.Add(dr);
    }   
    Context.Cache.Insert("Data", DT, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero);  
       
    } private void Bind()
    {
    if(Cache["Data"]==null)
    {
    CreatCache();
    }
    DataGrid1.DataSource = (System.Data.DataTable)Cache["Data"];
    DataGrid1.DataBind();
    } #endregion #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }
      
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Button2.Click += new System.EventHandler(this.Button2_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion /// <summary>
    /// 导出文件到EXCEL里面
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button1_Click(object sender, System.EventArgs e)
    {   
    if(this.TextBox1.Text.Trim()!=string.Empty)
    {
    if(Cache["Data"]==null)
    {
    CreatCache();
    }
    System.Data.DataTable DT = (System.Data.DataTable)Cache["Data"];
    OWC.SpreadsheetClass xlsheet = new OWC.SpreadsheetClass();
    xlsheet.AutoFit = true;
    int row=1;    
    foreach(System.Data.DataRow DR in DT.Rows)
    {
    for(int i=0;i<3;i++)
    {
    xlsheet.ActiveSheet.Cells[row,i+1] = DR[i].ToString();
    }
    row++;
    }
    DT.Clear();
    DT.Dispose();
    string strPath = Server.MapPath(".");
    xlsheet.ActiveSheet.Export(strPath+"\\"+this.TextBox1.Text.Trim()+".XLS",OWC.SheetExportActionEnum.ssExportActionNone);
    Response.Write(Server.MapPath(".")+"\\"+this.TextBox1.Text.Trim()+".xls");
    }
    }
    //导出到WORD里面
    private void Button2_Click(object sender, System.EventArgs e)
    {
    if(this.TextBox1.Text.Trim()!=string.Empty)
    {
    if(Cache["Data"]==null)
    {
    CreatCache();
    }
    System.Data.DataTable DT = (System.Data.DataTable)Cache["Data"];
    OWC.SpreadsheetClass xlsheet = new OWC.SpreadsheetClass();

    for(int i=0;i<DT.Rows.Count;i++)
    {
    string str = DT.Rows[i][0] .ToString();
    string str1 = DT.Rows[i][1].ToString();
    string str2 = DT.Rows[i][2].ToString();
    xlsheet.ActivePane.VisibleRange.Value += str+" "+str1+" "+str2+"\r\n";
    xlsheet.ActivePane.VisibleRange.AutoFitColumns();
    xlsheet.ActivePane.VisibleRange.AutoFitRows();
    }
    DT.Clear();
    DT.Dispose();
    xlsheet.ActiveSheet.Export(Server.MapPath(".")+"\\"+this.TextBox1.Text.Trim()+".doc",OWC.SheetExportActionEnum.ssExportActionNone);
    }
    }
    }
    }=====================
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGridToExcel.WebForm1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>DataGrid导出到Excel当中</title>
    </HEAD>
    <body MS_POSITIONING="FlowLayout">
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">导出的Excel文件名:</FONT>
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    <asp:Button id="Button1" runat="server" Text="Export"></asp:Button>
    <asp:Button id="Button2" runat="server" Text="Button"></asp:Button><asp:DataGrid id="DataGrid1" runat="server" BorderWidth="1px"></asp:DataGrid>
    </form>
    </body>
    </HTML>俺收集的