c# 在excel中新建一个工作表 10
本人想操作用c#操作excel表格,在一个excel文件中新建一个工作表。请问高手驱动和代码怎么写呀?谢谢这个方法倒是可以的,不过有两个缺点1、xApp.Visible=...
本人想操作用c#操作excel表格,在一个excel文件中新建一个工作表。
请问高手驱动和代码怎么写呀?
谢谢
这个方法倒是可以的,不过有两个缺点
1、xApp.Visible = true; 文件就会打开时候会显示出来。
2、xApp.Visible = false;后生产的excel进程无法结束。
请问这个怎么解决呀?谢谢 展开
请问高手驱动和代码怎么写呀?
谢谢
这个方法倒是可以的,不过有两个缺点
1、xApp.Visible = true; 文件就会打开时候会显示出来。
2、xApp.Visible = false;后生产的excel进程无法结束。
请问这个怎么解决呀?谢谢 展开
1个回答
展开全部
C# 对Excel表格的操作!
using Excel;
using System.Reflection;
namespace getData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//1.创建Exl应用程序对象,并显示与否.
Excel.Application xApp = new Excel.ApplicationClass();
xApp.Visible = true;
//2.创建WorkBook对象,可以有两种方式,:1.新建一个WorkBook,2.打开已有的文件.
//Workbook newBook = xApp.Workbooks.Add(Missing.Value); //新建表.
Workbook xBook = xApp.Workbooks._Open(@"d:\test.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//3.选择Sheet表,两种方式:
Worksheet tempSheet = (Excel.Worksheet)xBook.Sheets[2]; //按序表.
//Worksheet xSheet = (Excel.Worksheet)xBook.ActiveSheet; //当前表.
//读取数据,通过Range对象(通过n行n列),当单元格为空时,会报错.
Excel.Range rng1 = tempSheet.get_Range("A1", Type.Missing);
//MessageBox.Show(rng1.Value2.ToString());
//读取数据,通过Range对象,便使用不同的接口得到Range
Range rng2 = (Excel.Range)tempSheet.Cells[1, 1];
//MessageBox.Show(rng1.Value2.ToString());
//写入数据,注(好像指针一样,看着写到了变量了,但是写到了Exl表上)
for (int i = 1; i < 10; i++)
{
//Range rng3 = tempSheet.get_Range("C6", Missing.Value);
Range rng3 = (Excel.Range)tempSheet.Cells[i,i];
rng3.Value2 = "Hello";
rng3.Interior.ColorIndex = 6; //设置Range的背景色
}
//保存数据,方式一:
//xBook.SaveAs(@"d:\bookSaveAs.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value,Missing.Value);
//保存方式二:
tempSheet.SaveAs(@"d:\sheetSave.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//保存方式三
xBook.Save();
//关闭Excel应用程序
tempSheet = null;
xApp.Quit(); //这句话非常重要,否则Exlcel对象不能从内存中退出.
xApp = null;
}
}
}
using Excel;
using System.Reflection;
namespace getData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//1.创建Exl应用程序对象,并显示与否.
Excel.Application xApp = new Excel.ApplicationClass();
xApp.Visible = true;
//2.创建WorkBook对象,可以有两种方式,:1.新建一个WorkBook,2.打开已有的文件.
//Workbook newBook = xApp.Workbooks.Add(Missing.Value); //新建表.
Workbook xBook = xApp.Workbooks._Open(@"d:\test.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//3.选择Sheet表,两种方式:
Worksheet tempSheet = (Excel.Worksheet)xBook.Sheets[2]; //按序表.
//Worksheet xSheet = (Excel.Worksheet)xBook.ActiveSheet; //当前表.
//读取数据,通过Range对象(通过n行n列),当单元格为空时,会报错.
Excel.Range rng1 = tempSheet.get_Range("A1", Type.Missing);
//MessageBox.Show(rng1.Value2.ToString());
//读取数据,通过Range对象,便使用不同的接口得到Range
Range rng2 = (Excel.Range)tempSheet.Cells[1, 1];
//MessageBox.Show(rng1.Value2.ToString());
//写入数据,注(好像指针一样,看着写到了变量了,但是写到了Exl表上)
for (int i = 1; i < 10; i++)
{
//Range rng3 = tempSheet.get_Range("C6", Missing.Value);
Range rng3 = (Excel.Range)tempSheet.Cells[i,i];
rng3.Value2 = "Hello";
rng3.Interior.ColorIndex = 6; //设置Range的背景色
}
//保存数据,方式一:
//xBook.SaveAs(@"d:\bookSaveAs.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value,Missing.Value);
//保存方式二:
tempSheet.SaveAs(@"d:\sheetSave.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//保存方式三
xBook.Save();
//关闭Excel应用程序
tempSheet = null;
xApp.Quit(); //这句话非常重要,否则Exlcel对象不能从内存中退出.
xApp = null;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询