gridview数据导出到word和excel以及excel的导入
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using ProductSystem.Sqlserver;
using Microsoft.Office;
using Microsoft.Office.Interop;
using System.Data.OleDb;
using System.Data;
namespace WordExcelTest
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sql_select_pingjia = "select * from PingJia";
List<pingjiaBLL> groupinfoList = new List<pingjiaBLL>();
using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql_select_pingjia))
{
while (rdr.Read())
{
pingjiaBLL gf = new pingjiaBLL();
// gf.groupId = int.Parse(rdr["groupId"].ToString());
// gf.groupName = (rdr["groupName"]).ToString();
gf.ID = int.Parse(rdr["ID"].ToString());
gf.CompanyName = rdr["CompanyName"].ToString();
gf.Construe = rdr["Construe"].ToString();
gf.Specimen = rdr["Specimen"].ToString();
gf.Demonstrate = rdr["Demonstrate"].ToString();
gf.EngineeringSupport = rdr["EngineeringSupport"].ToString();
gf.DeliveryCircumstance = rdr["DeliveryCircumstance"].ToString();
groupinfoList.Add(gf);
}
}
this.db_gridview.DataSource = groupinfoList;
this.db_gridview.DataBind();
Response.Write(db_gridview.Columns.Count);
Response.Write(db_gridview.Rows.Count);
}
/// <summary>
/// 导出到excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btExcel_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;
//将第一行标题导入
for (int i = 0; i < this.db_gridview.Rows[0].Cells.Count; i++)
{
excel.Cells[1, i + 1] = this.db_gridview.HeaderRow.Cells[i].Text;
}
//从第二行开始每列导入数据
//excel.Cells[i,j]标识excel中sheet的i行j列
for (int i = 0; i < this.db_gridview.Rows.Count - 1; i++)
{
for (int j = 0; j < this.db_gridview.Rows[0].Cells.Count; j++)
{
excel.Cells[i + 2, j + 1] = this.db_gridview.Rows[i].Cells[j].Text.ToString();
}
}
}
/// <summary>
/// 导出到word
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btWord_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Document mydoc = new Microsoft.Office.Interop.Word.Document();
Microsoft.Office.Interop.Word.Table mytable;
Microsoft.Office.Interop.Word.Selection mysel;
Object myobj;
//建立Word对象
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
myobj = System.Reflection.Missing.Value;
mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
word.Visible = true;
mydoc.Select();
mysel = word.Selection;
//将数据生成Word表格文件
mytable = mydoc.Tables.Add(mysel.Range, this.db_gridview.Rows.Count, this.db_gridview.Rows[0].Cells.Count, ref myobj, ref myobj);
//设置列宽
mytable.Columns.SetWidth(30, Microsoft.Office.Interop.Word.WdRulerStyle.wdAdjustNone);
//输出列标题数据
for (int i = 0; i < this.db_gridview.Rows[0].Cells.Count; i++)
{
mytable.Cell(1, i + 1).Range.InsertAfter(this.db_gridview.HeaderRow.Cells[i].Text);
}
//输出控件中的记录
for (int i = 0; i < db_gridview.Rows.Count - 1; i++)
{
for (int j = 0; j < this.db_gridview.Rows[0].Cells.Count; j++)
{
mytable.Cell(i + 2, j + 1).Range.InsertAfter(this.db_gridview.Rows[i].Cells[j].Text.ToString());
}
}
}
/// <summary>
/// 导入excel到gridview
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void bt_importExcel_Click(object sender, EventArgs e)
{
string xlsFilePath = "C:\\Users\\HUXU\\Desktop\\Sheet1.xlsx";
string connectionString;
connectionString = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + xlsFilePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection conn = new OleDbConnection(connectionString);
String strQuery = "SELECT * FROM [Sheet1$]"; //可以更改工作表名称
OleDbDataAdapter da = new OleDbDataAdapter(strQuery, conn);
DataSet ds = new DataSet();
da.Fill(ds, "Sheet1");
DataTable dt = ds.Tables[0];
db_gridview.DataSource = null;
db_gridview.DataSource = dt;
db_gridview.DataBind();
conn.Close();
}
}
}
gridview数据导出到word和excel以及excel的导入的更多相关文章
- 在ASP.NET中将GridView数据导出到Word、Excel
在ASP.NET中将GridView数据导出到Word.Excel asp.net,导出gridview数据到Word,Excel,PDF #region Export to Word, Exce ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
- Gridview数据导出到ExcelWord 防止出现乱码
1.页面中添加绿色字体代码<%@ Page Language="C#" CodeFile="111.aspx.cs" Inherits="111 ...
- C# DevExpress 的gridControl或gridView数据导出失败解决方法
来自:http://blog.csdn.net/lybwwp/article/details/8049464 谢谢 在使用DevExpress 的GridPanel控件的时候出现了一个莫名其妙的现象, ...
- ASP.NET中GridView数据导出到Excel
/// <summary> /// 导出按钮 /// </summary> /// <param name="sender"></para ...
- Gridview数据导出excel时身份证号码为科学计数法的解决方法
if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowInde ...
- 使用NPOI将数据导出为word格式里的table
开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...
- js导出到word、json、excel、csv
tableExport.js ///*The MIT License (MIT) //Copyright (c) 2014 https://github.com/kayalshri/ //Permis ...
- 数据导出生成word附件使用POI的XWPFTemplate对象
比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel.Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组 ...
随机推荐
- NDK-r7以上版本部署方法
一.关于NDK: NDK全称:Native Development Kit. 1.NDK是一系列工具的集合. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和jav ...
- NDK开发之Application.mk文件详解
做过NDK开发的同学应该都知道有个Application.mk文件,这是android NDK构建系统使用的一个可选构建文件.它的目的是描述应用程序需要哪些模块,也定义了所有模块的一些通用变量.主要有 ...
- Linux bash常用测试判断选项
bash编程中if [ ]后面的测试选项: 1.整数测试: -le less equal -lt less than -ge greater equal -gt greater than -eq ...
- 高效删除 ListItem
The most efficient way to a lot of transaction in SharePoint is using of SPWeb.ProcessBatchData meth ...
- java 子类重写父类的方法应注意的问题
若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A.重写规则之一: 重写方法不能比被重写方法限制有更严格的访问级别.(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法 ...
- js--小结③
- “System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常。
今天在项目中用log4net,App.config文件中增加了configSections节点,程序运行报错“System.Transactions.Diagnostics.DiagnosticTra ...
- PHP 数组的值插入
曾今写过一个坑货的数组方法 function array_insert($myarray,$value,$position=0) { $fore=($position==0)?array():a ...
- Android客户端中Bitmap的下载过程和缓存机制
加载流程: if(内存命中){ 从内存中读取 }else{ create AsyncTasks,task中的多个Runnable是通过堆栈先进后出的方式来调度,而非队列式的先进先出 ...
- GET请求和POST请求
A:有哪些get请求呢? a.在浏览器地址栏直接输入一个请求地址 b.点击超链接 c.表单默认的提交方式method="GET/get" B:get请求方式的特点 a.会将请求参数 ...