NET操作EXCEL类.doc

上传人:仙人指路1688 文档编号:2385044 上传时间:2023-02-17 格式:DOC 页数:11 大小:138KB
返回 下载 相关 举报
NET操作EXCEL类.doc_第1页
第1页 / 共11页
NET操作EXCEL类.doc_第2页
第2页 / 共11页
NET操作EXCEL类.doc_第3页
第3页 / 共11页
NET操作EXCEL类.doc_第4页
第4页 / 共11页
NET操作EXCEL类.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《NET操作EXCEL类.doc》由会员分享,可在线阅读,更多相关《NET操作EXCEL类.doc(11页珍藏版)》请在三一办公上搜索。

1、ASP.NETExcel操作类(2010-04-18 14:54:50) 转载标签: netexcel操作类杂谈分类: 技术文档 首先添加Com中的Excel插件。要在服务器安装Office。本例中是Office 2003实现例子:namespace Demo public partial class WebForm1 : System.Web.UI.Page ExcelEdit.ExcelEdit excel = new ExcelEdit.ExcelEdit(); protected void Page_Load(object sender, EventArgs e) if (!Page.

2、IsPostBack) /打开Excel excel.Open(HttpContext.Current.Server.MapPath(./ExcelTest.xlt); /获取工作表 Excel.Worksheet weet = excel.GetSheet(Sheet1); /写入Excel excel.SetCellValue(weet, 1, 2, 1011); /另存为Excel excel.SaveAs(HttpContext.Current.Server.MapPath(./ExcelTest11.xls); /注销Excel进程 excel.Close(); protected

3、void Button1_Click(object sender, EventArgs e) /Excel生成Html /打开Excel excel.Open(HttpContext.Current.Server.MapPath(./ExcelTest.xlt); /另存为Excel excel.SaveAsHtml(HttpContext.Current.Server.MapPath(./aa.html); /注销Excel进程 excel.Close(); /转向新生成的页面 Response.Redirect(./aa.html); Excel操作类:using System; usin

4、g System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; /using Microsoft.Office.Interop; using Microsoft.Office.Core; namespace ExcelEdit

5、/ / Excel操作类 / public class ExcelEdit public string mFilename; public Excel.Application app; public Excel.Workbooks wbs; public Excel.Workbook wb; public Excel.Worksheets wss; public Excel.Worksheet ws; public ExcelEdit() / / TODO: 在此处添加构造函数逻辑 / / / 创建一个Excel对象 / public void Create() app = new Excel

6、.Application(); wbs = app.Workbooks; wb = wbs.Add(true); / / 打开一个Excel文件 / / Excel文件路径及名称 public void Open(string FileName) app = new Excel.Application(); wbs = app.Workbooks; wb = wbs.Add(FileName); mFilename = FileName; / / 获取一个工作表 / / 工作表名称 / Excel工作表 public Excel.Worksheet GetSheet(string SheetN

7、ame) Excel.Worksheet s = (Excel.Worksheet)wb.WorksheetsSheetName; return s; / / 添加一个工作表 / / 工作表名称 / Excel工作表 public Excel.Worksheet AddSheet(string SheetName) Excel.Worksheet s = (Excel.Worksheet)wb.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing); s.Name = SheetName; return s;

8、 / / 删除一个工作表 / / 工作表名称 public void DelSheet(string SheetName) (Excel.Worksheet)wb.WorksheetsSheetName).Delete(); / / 重命名一个工作表 / / 要改名的工作表 / 工作表新名称 / 工作表 public Excel.Worksheet ReNameSheet(string OldSheetName, string NewSheetName) Excel.Worksheet s = (Excel.Worksheet)wb.WorksheetsOldSheetName; s.Name

9、 = NewSheetName; return s; / / 重命名一个工作表 / / Excel工作表实例 / 新命名的工作表 / Excel工作表 public Excel.Worksheet ReNameSheet(Excel.Worksheet Sheet, string NewSheetName) Sheet.Name = NewSheetName; return Sheet; / / 设置工作表的值 / / 要设值的工作表 / 行 / 列 / 要设置的值 public void SetCellValue(Excel.Worksheet ws, int x, int y, objec

10、t value) ws.Cellsx, y = value; / / 设置工作表的值 / / 工作表的名称 / 行 / 列 / 要设置的值 public void SetCellValue(string ws, int x, int y, object value) GetSheet(ws).Cellsx, y = value; / / 设置工作表的值 / / 工作表 / 开始的行 / 开始的列 / 结束的行 / 结束的列 / 大小 / 字体名称 / 颜色 / 对齐方式 public void SetCellProperty(Excel.Worksheet ws, int Startx, in

11、t Starty, int Endx, int Endy, int size, string name, Excel.Constants color, Excel.Constants HorizontalAlignment)/设置一个单元格的属性 字体, 大小,颜色 ,对齐方式 name = 宋体 ; size = 12; color = Excel.Constants.xlAutomatic; HorizontalAlignment = Excel.Constants.xlRight; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, En

12、dy).Font.Name = name; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).Font.Size = size; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).Font.Color = color; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).HorizontalAlignment = HorizontalAlignment; / / 设置工作表的值 / / 工作表的名称 / 开

13、始的行 / 开始的列 / 结束的行 / 结束的列 / 大小 / 字体名称 / 颜色 / 对齐方式 public void SetCellProperty(string wsn, int Startx, int Starty, int Endx, int Endy, int size, string name, Excel.Constants color, Excel.Constants HorizontalAlignment) /name = 宋体 ; /size = 12; /color = Excel.Constants.xlAutomatic; /HorizontalAlignment

14、= Excel.Constants.xlRight; Excel.Worksheet ws = GetSheet(wsn); ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).Font.Name = name; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).Font.Size = size; ws.get_Range(ws.CellsStartx, Starty, ws.CellsEndx, Endy).Font.Color = color; ws.get_Ran

15、ge(ws.CellsStartx, Starty, ws.CellsEndx, Endy).HorizontalAlignment = HorizontalAlignment; / / 合并单元格 / / 工作表 / 开始的行 / 开始的列 / 结束的行 / 结束的列 public void UniteCells(Excel.Worksheet ws, int x1, int y1, int x2, int y2) ws.get_Range(ws.Cellsx1, y1, ws.Cellsx2, y2).Merge(Type.Missing); / / 合并单元格 / / 工作表名称 / 开

16、始的行 / 开始的列 / 结束的行 / 结束的列 public void UniteCells(string ws, int x1, int y1, int x2, int y2) GetSheet(ws).get_Range(GetSheet(ws).Cellsx1, y1, GetSheet(ws).Cellsx2, y2).Merge(Type.Missing); / / 将表格插入到Excel的指定工作表指定位置 / / DataTable / 工作表名称 / 开始行 / 开始列 public void InsertTable(System.Data.DataTable dt, str

17、ing ws, int startX, int startY) for (int i = 0; i = dt.Rows.Count - 1; i+) for (int j = 0; j = dt.Columns.Count - 1; j+) GetSheet(ws).CellsstartX + i, j + startY = dt.Rowsij.ToString(); / / 将表格插入到Excel的指定工作表指定位置 / / DataTable / 工作表 / 开始行 / 开始列 public void InsertTable(System.Data.DataTable dt, Excel.

18、Worksheet ws, int startX, int startY) for (int i = 0; i = dt.Rows.Count - 1; i+) for (int j = 0; j = dt.Columns.Count - 1; j+) ws.CellsstartX + i, j + startY = dt.Rowsij; / / DataTable表格添加到Excel指定工作表的指定位置 / / DataTable / 工作表名称 / 开始行 / 开始列 public void AddTable(System.Data.DataTable dt, string ws, int

19、 startX, int startY) for (int i = 0; i = dt.Rows.Count - 1; i+) for (int j = 0; j = dt.Columns.Count - 1; j+) GetSheet(ws).Cellsi + startX, j + startY = dt.Rowsij; / / DataTable表格添加到Excel指定工作表的指定位置 / / DataTable / 工作表 / 开始行 / 开始列 public void AddTable(System.Data.DataTable dt, Excel.Worksheet ws, int

20、 startX, int startY) for (int i = 0; i = dt.Rows.Count - 1; i+) for (int j = 0; j = dt.Columns.Count - 1; j+) ws.Cellsi + startX, j + startY = dt.Rowsij; / / 将图片插入到工作表中 / / 图片 / 工作表 public void InsertPictures(string Filename, string ws) GetSheet(ws).Shapes.AddPicture(Filename, MsoTriState.msoFalse,

21、MsoTriState.msoTrue, 10, 10, 150, 150);/后面的数字表示位置 public void InsertActiveChart(Excel.XlChartType ChartType, string ws, int DataSourcesX1, int DataSourcesY1, int DataSourcesX2, int DataSourcesY2, Excel.XlRowCol ChartDataType)/插入图表操作 ChartDataType = Excel.XlRowCol.xlColumns; wb.Charts.Add(Type.Missin

22、g, Type.Missing, Type.Missing, Type.Missing); wb.ActiveChart.ChartType = ChartType; wb.ActiveChart.SetSourceData(GetSheet(ws).get_Range(GetSheet(ws).CellsDataSourcesX1, DataSourcesY1, GetSheet(ws).CellsDataSourcesX2, DataSourcesY2), ChartDataType); wb.ActiveChart.Location(Excel.XlChartLocation.xlLoc

23、ationAsObject, ws); / / 保存文档 / / 是否保存成功 public bool Save() if (mFilename = ) return false; else try wb.Save(); return true; catch (Exception ex) return false; / / 文档的另存为 / / 另存为名称 / 是否保存成功 public bool SaveAs(object FileName)/文档另存为 try wb.SaveAs(HttpContext.Current.Server.MapPath(FileName), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); return true; catch (Exception ex) return false;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号