Excel导出 WorkBook.open()每次都会把当前Excel文件当中的数据写入内存中请问有方法可以不写入之前的数据吗,其实我想做的只是得到当前WorkBook对象然后后续添加WorkSheet,并不需要之前的WorkSheet里的数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://npoi.codeplex.com/ using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using Excel = Microsoft.Office.Interop.Excel;using Microsoft.Office.Core;namespace ConsoleApplication1.Bll{ public class ExcelManage { public static void ExportExcel(System.Data.DataTable eDataTable,string filename) { try { Excel.Application xlApp = new Excel.Application(); if (xlApp == null) { // "无法创建Excel对象,可能您的机子未安装Excel"; return; } Excel.Workbooks workbooks = xlApp.Workbooks; Excel.Workbook workbook = workbooks.Open(filename, 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);//这里打开指定文件 Excel.Worksheet ExcelSheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 xlApp.Visible = true; //写列标题 for (int i = 0; i < eDataTable.Columns.Count; i++) { ExcelSheet.Cells[1, i + 1] = eDataTable.Columns[i].ColumnName; } //写值 for (int r = 0; r < eDataTable.Rows.Count; r++) { for (int i = 0; i < eDataTable.Columns.Count; i++) { ExcelSheet.Cells[r + 2, i + 1] = eDataTable.Rows[r][i]; } } workbooks.Close(); xlApp.Save(filename); xlApp.Quit(); } catch (Exception ex) { } finally { GC.Collect(); } } }} 这里采用open方法,找到sheet1,然后对这个表赋值,save原文件名就覆盖它原来的类容了。 http://topic.csdn.net/u/20111109/17/9d3ffb61-96c9-49b7-a0cc-ad5444e4dad6.html?7593我开发的excel欢迎拍砖。 新手求救:急!能真正解决问题的话,可以+RMB (遇到问题需要关闭。我们对此引起的不便表示抱歉) .net dll合并的问题 .net2003 怪问题 如何用COM重新封装C写的DLL,来提供给C#调用呢? 安全性问题探讨 C#.NET中直接采用DATASET来更新数据有没有什么隐患或不足? 假死机状况,怎么解决?? 如何给水晶报表中的对象赋值?在线等待~ 百分求正版自然码 怎么把网页中的所有的超链接取出来?(100分求购,不够还可以加....) 急急急!安装vs2010 老提示需要windows service pack 3 索引超出范围。必须为非负值并小于集合大小。参数值:index;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;namespace ConsoleApplication1.Bll
{
public class ExcelManage
{
public static void ExportExcel(System.Data.DataTable eDataTable,string filename)
{
try
{
Excel.Application xlApp = new Excel.Application();
if (xlApp == null)
{
// "无法创建Excel对象,可能您的机子未安装Excel";
return;
}
Excel.Workbooks workbooks = xlApp.Workbooks;
Excel.Workbook workbook = workbooks.Open(filename, 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);//这里打开指定文件
Excel.Worksheet ExcelSheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
xlApp.Visible = true; //写列标题
for (int i = 0; i < eDataTable.Columns.Count; i++)
{
ExcelSheet.Cells[1, i + 1] = eDataTable.Columns[i].ColumnName;
} //写值
for (int r = 0; r < eDataTable.Rows.Count; r++)
{
for (int i = 0; i < eDataTable.Columns.Count; i++)
{
ExcelSheet.Cells[r + 2, i + 1] = eDataTable.Rows[r][i];
}
}
workbooks.Close();
xlApp.Save(filename);
xlApp.Quit();
}
catch (Exception ex)
{
}
finally
{
GC.Collect();
}
} }
} 这里采用open方法,找到sheet1,然后对这个表赋值,save原文件名就覆盖它原来的类容了。
我开发的excel欢迎拍砖。