怎么用C#实现把Excel1的数据保存到Excel2中?

我想把一张Excel总表整理到几张详细的表中,我想我的提问应该是基础,谁能教我具体怎么实现?不用数据库,而用ExcelApplication该怎么做?... 我想把一张Excel总表整理到几张详细的表中,我想我的提问应该是基础,谁能教我具体怎么实现?
不用数据库,而用ExcelApplication该怎么做?
展开
 我来答
bjddd192
2010-08-21 · TA获得超过416个赞
知道小有建树答主
回答量:496
采纳率:0%
帮助的人:436万
展开全部
打开EXCEL,然后复制,粘贴

using System;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
using System.Drawing;

public Excel.Application myExcel;
public Excel.Workbook myWorkBook;
myExcel = new Excel.Application();
myWorkBook = myExcel.Application.Workbooks.Add(true);

/// <summary>
/// 打开一个存在的Excel文件
/// </summary>
/// <param name="fileName">Excel完整路径加文件名</param>
public void Open(string fileName)
{
myExcel = new Excel.Application();
myWorkBook = myExcel.Workbooks.Add(fileName);
myFileName = fileName;
}

/// <summary>
/// 复制全部
/// </summary>
public void CopyAll()
{
Excel.Worksheet worksheet = (Excel.Worksheet)myExcel.ActiveSheet;
Excel.Range range = worksheet.Cells;
range.Select();
range.Copy(Missing.Value);
}

/// <summary>
/// 复制一个区域
/// </summary>
/// <param name="startRow"></param>
/// <param name="startColumn"></param>
/// <param name="endRow"></param>
/// <param name="endColumn"></param>
public void Copy(int startRow, int startColumn, int endRow, int endColumn)
{
Excel.Range range = myExcel.get_Range(myExcel.Cells[startRow, startColumn], myExcel.Cells[endRow, endColumn]);
range.Select();
range.Copy(Missing.Value);
}

/// <summary>
/// 粘贴所有
/// </summary>
public void PasteAll()
{
Excel.Worksheet worksheet = (Excel.Worksheet)myExcel.ActiveSheet;
Excel.Range range = worksheet.Cells;
worksheet.Paste(Missing.Value, Missing.Value);
//worksheet.PasteSpecial(Missing.Value, true, false, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
}

/// <summary>
/// 粘贴一个区域
/// </summary>
/// <param name="startRow"></param>
/// <param name="startColumn"></param>
/// <param name="endRow"></param>
/// <param name="endColumn"></param>
public void Paste(int startRow, int startColumn, int endRow, int endColumn)
{
Excel.Worksheet worksheet = (Excel.Worksheet)myExcel.ActiveSheet;
Excel.Range range = myExcel.get_Range(myExcel.Cells[startRow, startColumn], myExcel.Cells[endRow, endColumn]);
worksheet.Paste(range, false);
}
leon382
2010-08-18 · TA获得超过1064个赞
知道小有建树答主
回答量:1744
采纳率:0%
帮助的人:986万
展开全部
使用OleDb把数据从 Excel1读出来
然后写到 Excel2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XIAOSHENG173
2010-08-27
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
阿豆腐干反对感
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式