ASP.net转Excel

转载 2004年10月11日 09:51:00

using System;
using System.Data;
using Excel;

namespace XmlTest
{
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 public class Class1
 {
  public Class1(DataView dv,string str)
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //

   Excel.Application excel;
   int rowIndex=4;
   int colIndex=1;

   Excel._Workbook xBk;
   Excel._Worksheet xSt;

   excel= new Excel.ApplicationClass();;
   xBk = excel.Workbooks.Add(true);
   xSt = (Excel._Worksheet)xBk.ActiveSheet;

   //
   //取得标题
   //
   foreach(DataColumn col in dv.Table.Columns)
   {
    colIndex++;
    excel.Cells[4,colIndex] = col.ColumnName;
    xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐
   }

   //
   //取得表格中的数据
   //
   foreach(DataRowView row in dv)
   {
    rowIndex ++;
    colIndex = 1;
    foreach(DataColumn col in dv.Table.Columns)
    {
     colIndex ++;
     if(col.DataType == System.Type.GetType("System.DateTime"))
     {
      excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");
      xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置日期型的字段格式为居中对齐
     }
     else
      if(col.DataType == System.Type.GetType("System.String"))
     {
      excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString();
      xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置字符型的字段格式为居中对齐
     }
     else
     {
      excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();
     }
    }
   }
   //
   //加载一个合计行
   //
   int rowSum = rowIndex + 1;
   int colSum = 2;
   excel.Cells[rowSum,2] = "合计";
   xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
   //
   //设置选中的部分的颜色
   //
   xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();
   xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19;//设置为浅黄色,共计有56种
   //
   //取得整个报表的标题
   //
   excel.Cells[2,2] = str;
   //
   //设置整个报表的标题格式
   //
   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;
   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;
   //
   //设置报表表格为最适应宽度
   //
   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select();
   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit();
   //
   //设置整个报表的标题为跨列居中
   //
   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select();
   xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;
   //
   //绘制边框
   //
   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;
   xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = Excel.XlBorderWeight.xlThick;//设置左边线加粗
   xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = Excel.XlBorderWeight.xlThick;//设置上边线加粗
   xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlThick;//设置右边线加粗
   xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick;//设置下边线加粗
   //
   //显示效果
   //
   excel.Visible=true;
  }
 }
}

 

ASP.NET如何将Excel文档转换成pdf

一、添加引用   using Microsoft.Office.Interop.Excel;     二、转换方法     /**//// /// 把Excel文件转...
  • whaxrl
  • whaxrl
  • 2014年02月26日 12:54
  • 2643

关于C#,ASP.NET 生成Excel表格的两种方式(Datatable转Excel)

列举一些编程过程中常用代码,如Datatable转换为Excel表格给用户下载,包含了生成Excel的方法,绝对路径转换相对路径的方法,替换Html标签的方法,Json数据转换为Datatable的方...
  • u013542549
  • u013542549
  • 2017年05月04日 18:12
  • 17503

完整的asp.net 导出table到Excel中

导出 public class HtmlDataToDocOrExcel { private Page _InvokePage; /// //...
  • wang4978
  • wang4978
  • 2014年05月15日 10:48
  • 13471

在ASP.NET中将dataset数据保存到excel,GridView导出到excel

1 把dataset数据保存到excel  protected void Page_Load(object sender, EventArgs e)    {        //建立连接       ...
  • highplayer
  • highplayer
  • 2010年06月10日 19:21
  • 3020

asp.net Dataset导出excel

这种比前一种更好,此方法可以直接将数据库表导出到excel ,并不上绑定在某控件的数据表导出后还带有链接等后台的处理格外垃圾,故本人比较推荐使用此方法,希望大家可以借鉴借鉴             ...
  • a771948524
  • a771948524
  • 2013年05月09日 17:36
  • 1215

在asp.net中实现dataset与excel的相互导入导出

从excel文件导入到dataset可以把excel文件看作是一个数据库,因此这一部分其实就是一个从数据库取数然后保存在dataset的过程,相对比较简单。 代码如下public DataSet Im...
  • jianfengujs
  • jianfengujs
  • 2006年07月09日 14:04
  • 2300

asp.net mvc html 表格导出excel

///          /// 导出流向excel          ///          ///          public FileResult  Expo...
  • xpf5211
  • xpf5211
  • 2017年03月16日 09:59
  • 806

asp.net之gridview到datatable到excel

http://blog.csdn.net/lishimin1012/article/details/38401459
  • sjpljr
  • sjpljr
  • 2017年03月24日 21:42
  • 853

C#读取Excel并转化成Xml

XmlDocument excelData = new XmlDocument();                 DataSet excelTableDataSet = new DataSet()...
  • zhouminjob120
  • zhouminjob120
  • 2015年08月25日 14:54
  • 234

.NET WEB 实现office文档(word、excel、ppt)转PDF

首先新建一个项目命名为:translatePDF 添加一个web窗体,命名为:tranbslatePDF,该页面html代码: ...
  • MajorMayer
  • MajorMayer
  • 2015年12月30日 15:41
  • 822
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.net转Excel
举报原因:
原因补充:

(最多只允许输入30个字)