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有很多组 ...
随机推荐
- PureMVC(JS版)源码解析(一):观察者模式解析
假设一种情景,在程序开发中,我们需要在某些数据变化时,其他的类做出相应,例如在游戏中,升级一件装备,会触发玩家金币数量改变,背包数据改变和冷却队列数据改变等等.我们不可能设置setInte ...
- Python爬虫获取知乎图片
前段时间想抓点知乎问题中的图片,了解了下爬虫,发现还是Python的简单方便,于是做了点尝试. #coding=utf-8 import urllib import re def getHtml(ur ...
- apache、mod_jk负载均衡与tomcat集群
最近需要搭建apache和tomcat的集群,实现静态网站直接通过apache访问,动态网站转交给tomcat处理,实现负载均衡和tomcat集群配置. apache安装 wget http://ap ...
- phpcms 换域名
修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名就可以了. 进行后台设置->站点管理 对相应的站点的域名进行修改. 更新系统缓存.点击 ...
- SQL 中case when then else 用法
SQL如下: SELECT DISTINCTsy_haken_type,sy_sagyo_type,sy_kokyaku_cdFROm tbl_syukeiWHERE (sy_sagyo_ymd be ...
- CI框架篇之类库篇--基础(1)
使用 CodeIgniter 类库: 所有的类库文件存放在system/libraries 文件夹.大多数情况下你需要预先在controller中初始化后才能使用它们: $this->load- ...
- dynamic 和var
dynamic,编译后被转换成带有 dynamicAttribute的object对象,可用在方法参数,返回值活或者局部变量上 执行过程: 运行时绑定首先会检查是否继承IDynamicMetaObje ...
- SQL查询一些浅薄的结论
一些简单的测试结论 在本机经过一些简单的测试,记录数6W条,得出以下结论,不同的硬件环境和数据记录数,可能会有不一样的结论 1.in, or, exists, like, not in , not e ...
- Jenkins integration for AngularJS code coverage
Install Jenkins plugins 'Cobertura' and 'HTML Publisher' 1. add Post-build Actions "Publish HTM ...
- 去掉Visual Studio 编辑器里中文注释的红色波浪线 转载
我们通常用visual studio进行开发的时候,我们通常会用到一款比较流行比较方便的插件,那就是Visual Assist X,它可以增强Microsoft开发环境下的编辑能力,支持C/C++,C ...