C#对EXCEL笔记
来源:互联网 发布:徐州淘宝店招聘包装工 编辑:程序博客网 时间:2024/06/05 21:55
我前段时间作了一个有关Excel和Word的程序,后来控制Word方面比较多一些。以下是
我整理的有关控制Excel的原程序,希望能给你提供一些思路。
1.引入COM引用(Microsoft Excel 11.0 Object Library)
2.引入COM引用(Microsoft Office 11.0 Object Library)
3.引入.ENT引用(Microsoft.ffice.Tools.Excel)
4.在后台引用(using Microsoft.Office.Interop;
using Microsoft.Office.Core;)
--5.下代码导出至EXCEL
using System;
using 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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnToExcel_Click(object sender, EventArgs e)
{
DBHelper method = new DBHelper();
string sql = "select top 10 * from BARelation";
DataTable dtb=method.GetDataTablebyPAN(sql);
//创建Excel
Microsoft.Office.Interop.Excel.Application xls_exp = null;
int rowindex = 1;
int colindex = 0;
//创建一个workbook,一个worksheet
Microsoft.Office.Interop.Excel._Workbook xls_book = null;
Microsoft.Office.Interop.Excel._Worksheet xls_sheet = null;
try
{
xls_exp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xls_book = xls_exp.Workbooks.Add(true);
xls_sheet = (Microsoft.Office.Interop.Excel._Worksheet)xls_book.ActiveSheet;
//C#创建Excel文件之取得数据
//DataTable aa = GetData();
//将所得到的表的列名,赋值给单元格
foreach (DataColumn col in dtb.Columns)
{
colindex++;
xls_exp.Cells[1, colindex] = col.ColumnName;
//水平对齐
xls_sheet.get_Range(xls_exp.Cells[1, colindex], xls_exp.Cells[1, colindex]).HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
//C#创建Excel文件之垂直对齐
xls_sheet.get_Range(xls_exp.Cells[1, colindex], xls_exp.Cells[1, colindex]).VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
//行高、列宽自适应
//xls_sheet.Cells.Rows.AutoFill();
//xls_sheet.Cells.Columns.AutoFill();
xls_sheet.get_Range(xls_exp.Cells[1, 1], xls_exp.Cells[1, 1]).ColumnWidth = 100;
}
//同样方法处理数据
foreach (DataRow row in dtb.Rows)
{
rowindex++;
colindex = 0;
foreach (DataColumn col in dtb.Columns)
{
colindex++;
switch (row[col.ColumnName].GetType().ToString())
{ //字符
case ("System.String"):
//数字格式设置为文本
xls_sheet.get_Range(xls_exp.Cells[rowindex, colindex], xls_exp.Cells[rowindex, colindex]).NumberFormatLocal = "@";
//C#创建Excel文件之水平对齐
xls_sheet.get_Range(xls_exp.Cells[rowindex, colindex], xls_exp.Cells[rowindex, colindex]).HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
//垂直对齐
xls_sheet.get_Range(xls_exp.Cells[rowindex, colindex], xls_exp.Cells[rowindex, colindex]).VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
break;
//日期
case ("System.DateTime"):
//数字格式设置为yyyy-mm-dd hh:mm:ss日期
xls_sheet.get_Range(xls_exp.Cells[rowindex, colindex], xls_exp.Cells[rowindex, colindex]).NumberFormatLocal = "YYYY-MM-DD HH:MM:SS";
break;
} //C#创建Excel文件之给cell赋值
xls_exp.Cells[rowindex, colindex] = row[col.ColumnName];
}
} //不可见,即后台处理
xls_book.SaveCopyAs("////192.168.126.12//資料盤//管理處//關務課//中期上傳資料//差异资料//Excel差异资料" + 123456 + ".xls");
xls_book.Close(false, Type.Missing, Type.Missing);
xls_exp.DisplayAlerts = false;
}
catch (Exception err)
{
}
}
}
--
6制EXCEL
全面控制 Excel
首先创建 Excel 对象,使用ComObj:
var ExcelID: Variant;
ExcelID := CreateOleObject( 'Excel.Application ' );
1) 显示当前窗口:
ExcelID.Visible := True;
2) 更改 Excel 标题栏:
ExcelID.Caption := '应用程序调用 Microsoft Excel ';
3) 添加新工作簿:
ExcelID.WorkBooks.Add;
4) 打开已存在的工作簿:
ExcelID.WorkBooks.Open( 'C:/Excel/Demo.xls ' );
5) 设置第2个工作表为活动工作表:
ExcelID.WorkSheets[2].Activate;
或
ExcelID.WorksSheets[ 'Sheet2 ' ].Activate;
6) 给单元格赋值:
ExcelID.Cells[1,4].Value := '第一行第四列 ';
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:
ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前删除分页符:
ExcelID.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定边框线宽度:
ExcelID.ActiveSheet.Range[ 'B3:D4 ' ].Borders[2].Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( / ) 6-斜( / )
12) 清除第一行第四列单元格公式:
ExcelID.ActiveSheet.Cells[1,4].ClearContents;
13) 设置第一行字体属性:
ExcelID.ActiveSheet.Rows[1].Font.Name := '隶书 ';
ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelID.ActiveSheet.Rows[1].Font.Bold := True;
ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 进行页面设置:
a.页眉:
ExcelID.ActiveSheet.PageSetup.CenterHeader := '报表演示 ';
b.页脚:
ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P页 ';
c.页眉到顶端边距2cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作:
a.拷贝整个工作表:
ExcelID.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelID.ActiveSheet.Range[ 'A1:E2 ' ].Copy;
c.从A1位置开始粘贴:
ExcelID.ActiveSheet.Range.[ 'A1 ' ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelID.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Insert;
b. ExcelID.ActiveSheet.Columns[1].Insert;
17) 删除一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Delete;
b. ExcelID.ActiveSheet.Columns[1].Delete;
18) 打印预览工作表:
ExcelID.ActiveSheet.PrintPreview;
19) 打印输出工作表:
ExcelID.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelID.ActiveWorkBook.Saved then
ExcelID.ActiveSheet.PrintPreview;
21) 工作表另存为:
ExcelID.SaveAs( 'C:/Excel/Demo1.xls ' );
22) 放弃存盘:
ExcelID.ActiveWorkBook.Saved := True;
23) 关闭工作簿:
ExcelID.WorkBooks.Close;
24) 退出 Excel:
ExcelID.Quit;
- C#对EXCEL笔记
- C#对Excel操作
- c#对Excel操作
- C#对excel操作
- C#对Excel操作
- C#对Excel的操作
- C#对Excel的操作
- C#对Excel的调用
- C#对Excel的操作
- C#对word、excel读取
- vs2008 c#对excel操作
- C#对EXCEL文件操作
- poi对excel操作笔记
- C# 处理Excel的笔记
- C#对Excel操作常用语句
- C#对Excel的基本操作
- C#对Excel文件的操作
- C#对EXCEL的读写操作
- XP Ubuntu重装XP后修复
- System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 ...
- 异步机制(Asynchronous) -- (二)异步消息机制兼谈Hadoop RPC
- C#对Excel表格样式的控制
- Solar Model的文件结构
- C#对EXCEL笔记
- C#执行SQL语句(带事务)
- out与ref区别
- DOM对象介绍
- 第六天_网络
- AJAX 框架 用 Asp.net ajax 还是 Jquery
- Ajaxcontroltoolkit/Samples
- Solar Model数据库操作之读取数据
- 单片机训练题