DataGrid中的数据导入到Word和Excel

datagrid|excel|word|数据

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;
using System.IO;
using System.Data.SqlClient ;
using System.Text;

namespace DataGrid_import_WordExcel
{
/// <summary>
/// 马亚红制作 2004-12-12
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button BtnImportWord;
protected System.Web.UI.WebControls.Button Btn_Import_Excel;
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
CreateDataSet();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.BtnImportWord.Click += new System.EventHandler(this.BtnImportWord_Click);
this.Btn_Import_Excel.Click += new System.EventHandler(this.Btn_Import_Excel_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void ExportDataGrid(string FileType, string FileName) //从DataGrid导出
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

Response.AppendHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState =false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw =new HtmlTextWriter(tw);
DataGrid1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
private void Btn_Import_Excel_Click(object sender, System.EventArgs e)
{
ExportDataGrid("application/ms-excel", "指数列表.xls"); //导到Excel
}

private void CreateDataSet() //建立DataSet
{
DataSet myDataSet = new DataSet("aNewDataSet");
DataTable table1 = MakeTable("ID", "Name");
myDataSet.Tables.Add(table1);
DataGrid1.DataSource=myDataSet;
DataGrid1.DataBind();
}

private DataTable MakeTable(String c1Name,String c2Name) //建表
{
int i;
DataTable myTable=new DataTable();
DataColumn myColumn;
// Add two DataColumns
myColumn = new DataColumn(c1Name,typeof(Int32)); //增加字段及设置类型
myTable.Columns.Add(myColumn);
myColumn = new DataColumn(c2Name,typeof(string));
myTable.Columns.Add(myColumn);
DataRow Dr;
for(i=1;i<11;i++) //表中增加数据
{
Dr=myTable.NewRow();
Dr[0]=i;
Dr[1]="Name" + i.ToString();
myTable.Rows.Add(Dr);
}
return myTable;
}

private void BtnImportWord_Click(object sender, System.EventArgs e) //导到Word
{
ExportDataGrid("application/ms-word", "指数列表.doc");
}
}
}

时间: 2024-09-08 01:38:33

DataGrid中的数据导入到Word和Excel的相关文章

winform中 将DataGrid中的数据导入Excel中,并显示Excel应用程序

datagrid|excel|程序|数据|显示    /// <summary>        /// 将DataGrid中的数据导入Excel中,并显示Excel应用程序,        /// 注意调用该方法必须有安装Excel 2000应用程序,并且假定DataGrid中绑定的是一DataSet        /// </summary>        /// <param name="grid"></param>        /

将DBGrid中的数据导出到Word和Excel

昨天ccrun刚写了将ListView中内容导出到Word文档和Excel文档的一篇文章,今天写程序凑巧用到了将DBGrid中数据导出到Office的功能,干脆再写个兄弟版的函数出来,DBGrid2Word和DBGrid2Excel,分别实现将DBGrid中数据导出到Word和Excel文档.需要注意的是DBGrid中的数据并不代码数据库中所有的数据,因为数据集在打开的时候有可能进行了筛选,取决于使用者如何打开这个数据集,总之就是DBGrid中显示多少数据,就导出多少.看在写代码很辛苦的份上,请

请问我把DataGrid中的数据导入到Excel最后打开只有一行代码

问题描述 从datagrid中导入excel代码如下:Response.Clear();Response.Buffer=true;Response.Charset="utf-8";Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(filename));Response.ContentEncoding=System.Text.Enc

ASP.NET中如何用程序将excel中的数据导入到数据库中(C#)

问题描述 ASP.NET中如何用程序将excel中的数据导入到数据库中(C#),比较不同的时,excel只有一个表,里面是全部的详细信息,导入到sqlserver中的是多个表,这个如何实现?希望有具体的例子! 解决方案 解决方案二:大致原理:先将EXCEL导入GridView,然后再操作GridView中的数据存入数据库相应表中!在这里不能给你提供原码了,但你可以在Google内收到很多!解决方案三:用的是vs.net2003啊,应该如何?解决方案四:以下是我的一个真实的例子,供参考!<tr>

怎么将sql sever中的数据导入到mysql中?

问题描述 怎么将sql sever中的数据导入到mysql中? 求教:怎么将sql sever中的数据导入到mysql中?试了很多次都不可以.有没有大神指导一下! 解决方案 将import.sql中的数据导入到mysql中导入Excel电子表格数据到SQL Sever数据库导入Excel电子表格数据到SQL Sever数据库的方法 解决方案二: 呃.语法关键字不同的. 如果只是表的话. 建议把 Sql语句 整体 替换.sqlserver 中的 identify 关键字 替换为 : AUTO_IN

导入excel-php环境下把html页面table中的数据导入到Excel中

问题描述 php环境下把html页面table中的数据导入到Excel中 如题的问题,我看过网上一些解决方案,使用html5对象的方法可以忽略,因为我们的系统环境暂不支持html5:使用ActiveXObject方法的需要客户端支持,也不符合我们的设计思想.有没有更好解决办法,求详细方案. 解决方案 如果是客户端的,我也不知道怎么回答 如果是服务端导入的,我知道以下方案: 方案1,参考excel的openxml规范,生成对应的文件然后把这个文件打包为zip格式,这种方案最完美,然而我只有CLR下

c++-vc中用struct来将txt文件中的数据导入到数组中

问题描述 vc中用struct来将txt文件中的数据导入到数组中 我用的是struct来做的,但是显示的数据和原来数据不符,数据发生了变化,这是为什么?? 解决方案 是不是没有进行字节对其呢 如果没有字节对其 TA在解析的时候 可能会自动字节对齐了 解决方案二: 和struct没关系,你所谓的不一样:小数位数不一样.使用了科学计数法.列没对齐,都可以使用printf函数解决. cout默认输入当然不会给你做这些处理.

dropdownlist- DropDownList选择某个值确定在datagrid中显示数据

问题描述 DropDownList选择某个值确定在datagrid中显示数据 1C DropDownList选择某个值后,点击确定按钮,然后根据选的这个值在datagrid显示数据库相关数据 我的代码如下:private void Btn_ok_Click(object sender System.EventArgs e) { string strconn = ConfigurationSettings.AppSettings[""ConnectionString""

如何将MS SQL server中的数据导入到Mysql中

问题描述 在Mysql中已经有了表结构. 解决方案 我用navicat客户端,直接搞定.解决方案二:从sqlserver从导出数据到sql文件,去除[]括号和GO,直接到mysql运行sql文件即可.解决方案三:要将sql server数据库中的数据全部导入到mysql数据库中,其方法有多种,利用mysql ODBC把SQL Server中数据库中的数据导入到MySQL中第一步:安装mysql ODBC: 去相关的网站下载mysql ODBC进行安装. 第二步:建立MySQL的DSN: 在控制面