将数据导入到Excel和Word中
来源:互联网 发布:水泥销售软件 编辑:程序博客网 时间:2024/04/29 06:59
导入Excel方法一:(该方法要引入两个模板,MyExcel.xls和MyTemplate.xls。要用到office组件。)
using Excel;
using System.Diagnostics;
//打印按钮。
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
//判断Gridview是否为空。如果是空,则返回。
if (this.gdviewDeptExecute.Rows.Count <= 0)
{
return;
}
//定义一个数据集。获得绑定Gridview的值。
DataSet printDS = new DataSet();
printDS = car.LoadAffirmInfo(); --绑定gridview时调用的方法。
//定义一个Excel的应用程序。
Excel.Application oExcel = new Application();
Workbooks oBooks;
Workbook oBook;
Sheets oSheets;
Worksheet oSheet;
Range oCells;
//定义两个字符串。
string sFile, sTemplate;
//定义一个字符串来获取请求应用程序的路径。
string app = Server.MapPath(Request.ApplicationPath);
//新建一个数据表
System.Data.DataTable dt = printDS.Tables[0];
//两个字符串所用的Excel的路径。
sFile = app + "//MyExcel.xls";
sTemplate = app + "//MyTemplate.xls";
oExcel.Visible = false;
oExcel.DisplayAlerts = false;
//定义一个新的工作簿
oBooks = oExcel.Workbooks;
oBooks.Open(sTemplate, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
oBook = oBooks.get_Item(1);
oSheets = oBook.Worksheets;
oSheet = (Worksheet)oSheets.get_Item(1);
//命名该sheet
oSheet.Name = "Sheet1";
oCells = oSheet.Cells;
//调用方法dumpData.
DumpData(dt, oCells);
//定义一个工作薄的字体,及字体大小等。
oSheet.get_Range("A1", "D1").Font.Name = "宋体";
oSheet.get_Range("A1", "D1").Font.Size = 14;
oSheet.get_Range("A1", "D1").Borders.LineStyle = 1;
//保存
oSheet.SaveAs(sFile, Excel.XlFileFormat.xlTemplate, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);
oBook.Close(false, Type.Missing, Type.Missing);
//退出Excel, 并且释放调用的COM资源
oExcel.Quit();
//////////////////////////////////////////////////////////
//显示下载
string str = "<script type='text/javascript'>window.open('/Web/MyExcel.xls','','toolbar=no, menubar=no, scrollbars=no, resizable=yes, location=no, status=no');</script>";
this.RegisterClientScriptBlock(Guid.NewGuid().ToString(), str);
//gridview的数据源。并将数据进行绑定,gdviewDeptExecute是gridview的ID.
gdviewDeptExecute.DataSource = printDS;
gdviewDeptExecute.DataBind();
}
//把Table的数据导入到Excel
private void DumpData(System.Data.DataTable dt, Excel.Range oCells)
{
//给Excel定位。
oCells[1, 2] = "车辆统计列表";
//先导入表头
oCells[3, 2] = "申请部门";
oCells[3, 3] = "车辆型号";
oCells[3, 4] = "车牌号";
oCells[3, 5] = "出发日期";
oCells[3, 6] = "归还日期";
//再导入表数据
DataRow dr;
for (int iRow = 1; iRow < dt.Rows.Count; iRow++)
{
dr = dt.Rows[iRow];
for (int iCol = 1; iCol < dr.ItemArray.Length; iCol++)
{
oCells[iRow + 4, iCol + 1] = dr.ItemArray[iCol].ToString();
}
}
}
private void KillProcess(string processName)
{
System.Diagnostics.Process myproc = new System.Diagnostics.Process();
//得到所有打开的进程
try
{
foreach (Process thisproc in Process.GetProcessesByName(processName))
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch (Exception Exc)
{
throw new Exception("", Exc);
}
}
导入Excel方法二:(该方法适用于Excel也适用Word)
using Excel;
using System.Diagnostics;
protected void btnExcel_Click(object sender, EventArgs e)
{
//把DataGrid中的数据导出到Excel
DataSet1 dsGrid = RunDataSet(txtSelect.Text);
//如果是将数据导入到Excel中,可以将下面方法的名称设为:.xls 如果要将数据导入到Word中,将文件名改为.Doc即可。
CreateExcel(dsGrid, "defExcel.xls");
}
public void CreateExcel(DataSet ds,string FileName)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string colHeaders= "", ls_item="";
int i=0;
//定义表对象与行对像,同时用DataSet对其值进行初始化
DataTable dt=ds.Tables[0];
DataRow[] myRow=dt.Select("");
//取得数据表各列标题,各标题之间以/t分割,最后一个列标题后加回车符
for (i = 0; i < dt.Columns.Count-1; i++)
{
colHeaders += DataGrid1.Columns[i].HeaderText + "/t";
}
colHeaders +=DataGrid1.Columns[i].HeaderText +"/n";
//向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//逐行处理数据
foreach(DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以/t分割,结束时加回车符/n
for(i=0;i<row.ItemArray.Length-1;i++)
{
ls_item +=row[i].ToString() + "/t";
}
ls_item += row[i].ToString() +"/n";
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item="";
}
//写缓冲区中的数据到HTTP头文件中
resp.End();
}
// PosID是界面上的一个文本框值,如果文本框中没有值,查找所有的记录,如果文本框中输入的值 ,将按输入条件进行查找。
//定义一个数据集。
private DataSet1 RunDataSet(string PosID)
{
//建立数据库连接
SqlConnection conn = new SqlConnection("Server=(local);DataBase=pubs;UID=sa;PWD=");
//打开连接;
conn.Open();
string conStr;
//根据传进来的值进行判断,如果值为空:查询所有的数据;如果不为空,将根据传进来的值进行查询数据。
if (PosID.Length==0)
conStr = "select d.DeptName, p.PosID, p.PosType, p.PosTelNo, p.PosPlace, case Useflg when 0 then '不正常' when 1 then '正常' end as 'UseFlg' from CRPosInfo p, CRDeptInfo d where p.deptID=d.deptID";
else
conStr = "select d.DeptName, p.PosID, p.PosType, p.PosTelNo, p.PosPlace, case Useflg when 0 then '不正常' when 1 then '正常' end as 'UseFlg' from CRPosInfo p, CRDeptInfo d where p.deptID=d.deptID and PosID like '" + PosID + "%'";
SqlDataAdapter da = new SqlDataAdapter(conStr, conn);
DataSet1 ds = new DataSet1();
da.Fill(ds, "CRPosInfo");
conn.Close();
//关闭连接,返回数据集。
return ds;
}
- 将数据导入到Excel和Word中
- 将GridView导入到Excel和word
- 将DBGrid的数据导出到word和excel中
- 将DBGrid的数据导出到word和excel中
- 将EXCEL 数据导入到 DataGrid中
- 将Excel数据导入到数据库中
- mvc将数据导入到Excel中
- mysql将数据导入到excel中
- 将excel数据导入到数据库中
- 使用VBA将Excel数据导入到Word的表格中
- 如何使用免费控件将word表格中的数据导入到excel中
- 将word中表格批量导入到Excel
- 将GridView导入到Excel和word(完全可实现)
- 通过模板将数据导入到Word中
- 将Excel文件数据导入数据到SQL数据库中
- 将GridView中的数据导出到Excel / Word中
- 将GridView中的数据导出到Excel / Word中
- 实现将数据导入到excel中或者从excel中将数据导入到数据库
- PHP大型Web应用入门(一)
- GridView应用
- Windows Live Writer
- AXIS
- 一个开源组织者的感言2
- 将数据导入到Excel和Word中
- 火车
- C#使用技巧--调用DLL(vc写的dll)
- Ajax在.NET中与Server控件的交互C#
- Asp.net2.0的身份验证
- EAN-13条码
- SQL精华
- 07年4月10日坐汽车去鞍山
- 生成条形码