Excel文件写入
来源:互联网 发布:java静态成员变量 编辑:程序博客网 时间:2024/06/06 05:52
using System;
using Excel;
using System.IO;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
namespace ExcelLib
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class ExcelOper
{
public ExcelOper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//写内容到Excel文档中(根据指定的路径直接写入)
public void ExecuteWriteExcel()
{
string strPath="";
// string strMonth="";
//创建一个Excel文件
Excel.Application myExcel=new Excel.Application();
//实例化一个工作簿
Excel.Workbook oBook;
//Excel表
Excel.Sheets oSheets ;
//工作表
Excel.Worksheet oSheet;
//
Excel.Range oCells;
//当前运行Excel应用程序中加入工作簿
oBook=myExcel.Application.Workbooks.Add(true);
//工作表
oSheets=oBook.Worksheets;
oSheet=(Excel.Worksheet)oSheets[1];
oCells=oSheet.Cells ;
//让excel不可见
myExcel.Visible=false;
myExcel.DisplayAlerts = false;
//第一行为报表名称
oCells.Cells[1,4]=DateTime.Now.Year+"年"+DateTime.Now.Month.ToString()+"月";
///////////////////////读取pubs数据库中的titles表,并将读取的数据写入Excel中
DataSet dstReport = new DataSet();
dstReport = GetTitlesData();
//逐行写入报表
System.Data.DataTable dtReport=dstReport.Tables[0];
//逐行写入报表
//打印列名 注意第一和最后一个不转换打印
for(int i=0;i<=dtReport.Columns.Count-2;i++)
{
//将第一个和最后一个不转换
if (dtReport.Columns[i+1].ToString()=="合计")
myExcel.Cells[2,i+2]=dtReport.Columns[i+1].ToString();
// else
// myExcel.Cells[2,i+2]=oPeopleManage.GetPeople(dtReport.Columns[i+1].ToString()).xm;
myExcel.Cells[2,i+2]=dtReport.Rows[0][i+1].ToString();
}
//打印内容,最后一行列合计不转换
for(int i=0;i<=dtReport.Rows.Count-1;i++)
{ //注意每行的第一个要转换,合计除外
// if (dtReport.Rows[i]["f0"].ToString().Trim()=="合计")
// myExcel.Cells[i+3,1]="合计";
// else //将fo字段的项目no转成项目名称
// myExcel.Cells[i+3,1]=oXmbManage.FindXmb(Convert.ToInt16(dtReport.Rows[i]["f0"].ToString().Trim())).xmmc;
for(int j=1;j<=dtReport.Columns.Count-1;j++)//从第二列开始
{
myExcel.Cells[i+3,j+1]=dtReport.Rows[i][dtReport.Columns[j].ToString()];
}
}
///////////////////////////
//写入Excel文件的路径
strPath="d://gs.xls";
//如果存在该文件则删除
if (File.Exists(strPath))
{
File.Delete(strPath);
}
//保存该文件
oSheet.SaveAs(strPath,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
// oBook.Close(Missing.Value,strPath,f);
myExcel.Quit();
//释放COM引用资源
Marshal.ReleaseComObject(oCells);
oCells=null;
Marshal.ReleaseComObject(oSheet);
oSheet=null;
Marshal.ReleaseComObject(oSheets);
oSheets=null;
Marshal.ReleaseComObject(oBook);
oBook=null;
Marshal.ReleaseComObject(myExcel);
myExcel=null;
//控制系统垃圾回收器,回收垃圾
System.GC.Collect();
}
//写内容到Excel文档中(根据选择的路径写入)
public void ExecuteWriteExcelSel()
{
string strPath="";
// string strMonth="";
//创建一个Excel文件
Excel.Application myExcel=new Excel.Application();
myExcel.Application.Workbooks.Add(true);
//让excel不可见
myExcel.Visible=false;
myExcel.EnableAutoComplete=true;
// myExcel.DisplayCommentIndicator=false;
myExcel.DisplayExcel4Menus=false;
myExcel.DisplayNoteIndicator=false;
myExcel.DisplayAlerts = false;
//第一行为报表名称
myExcel.Cells[1,4]=DateTime.Now.Year+"年"+DateTime.Now.Month.ToString()+"月";
//注意文件的格式200607gs.xls
strPath="d://gs.xls";
if (File.Exists(strPath)) //如果存在该文件则删除
{
File.Delete(strPath);
}
myExcel.DisplayAlerts = false;
myExcel.SaveWorkspace(strPath);
myExcel.Save(strPath);
myExcel.DisplayAlerts = false;
myExcel.Quit();
System.GC.Collect();
}
//查询titles表
public DataSet GetTitlesData()
{
string strSQL = "select * from titles";
DataSet ds = new DataSet();
try
{
ds = dbaccess.RunSelect(strSQL);
}
catch(Exception ex)
{
// return;
}
return ds;
}
//从数据库中读取数据,写入到Excel文件中
public void WriteExcel()
{
string strPa ="";
//实例化一个Excel程序
Excel.Application ex = new Excel.Application();
//工作簿
Excel.Workbook oBook;
//工作表集
Excel.Sheets oSheets;
//工作表
Excel.Worksheet oSheet;
//工作表中单元格
Excel.Range oCells;
//当前工作簿集中加入工作簿
oBook = ex.Application.Workbooks.Add(true);
//得到当前工作簿中的工作表集
oSheets = oBook.Worksheets;
//得到当前工作表1
oSheet = (Excel.Worksheet)oSheets[1];
//当前工作表的单元格集合
oCells = oSheet.Cells;
//隐藏Excel应用程序
ex.Visible = false;
//
ex.DisplayAlerts = false;
//当前工作表中第一行第一列中写入当前年月信息的字符串
oCells.Cells[1,1] = DateTime.Now.Year + "年" + DateTime.Now.Month + "月";
//指定要写入的Excel文件的路径
strPa = "C://Documents and Settings//Administrator//桌面//xx.xls";
//假如该路径下面的文件名与要保存的文件名同名,则需删掉原文件
if(File.Exists(strPa))
{
File.Delete(strPa);
}
//保存已完成写入操作的Excel报表
oSheet.SaveAs(strPa,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//退出当前Excel程序
ex.Quit();
//释放COM引用的对象
Marshal.ReleaseComObject(oCells);
oCells = null;
Marshal.ReleaseComObject(oSheet);
oSheet = null;
Marshal.ReleaseComObject(oSheets);
oSheets = null;
Marshal.ReleaseComObject(oBook);
oBook = null;
Marshal.ReleaseComObject(ex);
ex = null;
//调用系统的垃圾回收器,清理内存垃圾
System.GC.Collect();
}
}
}
- Excel文件写入
- Java写入Excel文件
- Java写入Excel文件
- EXCEL 读取 写入文件
- excel超大文件写入
- excel超大文件写入
- 读取excel,写入文件
- Java写入Excel文件
- C++文件流方式写入excel文件
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel) .
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- C#操作Excel文件(读取Excel,写入Excel)
- oracle检查锁等待
- 失物招领网开源计划
- 读Txt文件 SQL Server
- oracle检查用户锁
- 23年前,有个年轻的女子...
- Excel文件写入
- c#winform对外部程序的调用(notepad)
- 客户端测试-动态web
- ABAP--如何创建动态结构的报表
- oracle常用函数
- 编写和调试程序
- 把单元格显示不下的文本用省略号代替,并且当mouseover时用提示信息显示全部内容
- S3C2410 & Linux 2.6 内核
- 常用DBA脚本