如何在c#下读取EXCEl表格中的数据,最好写一段代码
(转)
创建、打开、读取、写入、保存的一般性代码:
using
System;
using
System.Reflection;
//
引用这个才能使用Missing字段
namespace
CExcel1
{
class
Class1
{
[STAThread]
static
void
Main(string[]
args)
{
//创建Application对象
Excel.Application
xApp=new
Excel.ApplicationClass();
xApp.Visible=true;
//得到WorkBook对象,
可以用两种方式之一:
下面的是打开已有的文件
Excel.Workbook
xBook=xApp.Workbooks._Open(@"D:\Sample.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);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
//指定要操作的Sheet,两种方式:
Excel.Worksheet
xSheet=(Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet
xSheet=(Excel.Worksheet)xApp.ActiveSheet;
//读取数据,通过Range对象
Excel.Range
rng1=xSheet.get_Range("A1",Type.Missing);
Console.WriteLine(rng1.Value2);
//读取,通过Range对象,但使用不同的接口得到Range
Excel.Range
rng2=(Excel.Range)xSheet.Cells[3,1];
Console.WriteLine(rng2.Value2);
//写入数据
Excel.Range
rng3=xSheet.get_Range("C6",Missing.Value);
rng3.Value2="Hello";
rng3.Interior.ColorIndex=6;
//设置Range的背景色
//保存方式一:保存WorkBook
xBook.SaveAs(@"D:\CData.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value);
//保存方式二:保存WorkSheet
xSheet.SaveAs(@"D:\CData2.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//保存方式三
xBook.Save();
xSheet=null;
xBook=null;
xApp.Quit();
//这一句是非常重要的,否则Excel对象不能从内存中退出
xApp=null;
}
}
}
string style = @" .text { mso-number-format:\@; } ";
//清空
response.ClearContent();
//导出格式
response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
response.ContentType = "application/ms-excel";
response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//创建流
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
response.Write(style);
response.Write(sw.ToString());
response.End();
//必须的方法
public override void VerifyRenderingInServerForm(Control control)
{
}
以上是导出
~~~~~~~~~
以下是导入
private DataSet CreateDataSource()
{
string strCon;
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0;";
OleDbConnection olecon = new OleDbConnection(strCon);
OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
DataSet myds = new DataSet();
myda.Fill(myds);
return myds;
}
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();
}
好吧,是不是很简单呢?
创建、打开、读取、写入、保存的一般性代码:
using System;
using System.Reflection; // 引用这个才能使用Missing字段
namespace CExcel1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
//创建Application对象
Excel.Application xApp=new Excel.ApplicationClass();
xApp.Visible=true;
//得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
Excel.Workbook xBook=xApp.Workbooks._Open(@"D:\Sample.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);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
//指定要操作的Sheet,两种方式:
Excel.Worksheet xSheet=(Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;
//读取数据,通过Range对象
Excel.Range rng1=xSheet.get_Range("A1",Type.Missing);
Console.WriteLine(rng1.Value2);
//读取,通过Range对象,但使用不同的接口得到Range
Excel.Range rng2=(Excel.Range)xSheet.Cells[3,1];
Console.WriteLine(rng2.Value2);
//写入数据
Excel.Range rng3=xSheet.get_Range("C6",Missing.Value);
rng3.Value2="Hello";
rng3.Interior.ColorIndex=6; //设置Range的背景色
//保存方式一:保存WorkBook
xBook.SaveAs(@"D:\CData.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value);
//保存方式二:保存WorkSheet
xSheet.SaveAs(@"D:\CData2.xls",
Missing.Value,Missing.Value,Missing.Value,Missing.Value,
Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
//保存方式三
xBook.Save();
xSheet=null;
xBook=null;
xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
xApp=null;
}
}
}
C语言如下程序错误何在啊,srand未定义是什么意思
你好!加上头文件就可以了:头文件如下:include<stdlib.h>\/\/调用rand()及srand()函数 include \/\/调用time() 函数
C语言魅力何在
现在总的来说语言的两大体系就是C语系与微软的Visual Basic语系。学好C语言后,将来学习C语系的任何一款语言你会感觉很上手,比如说,Java,C++,PHP...。但是,如果你只是想学习C++的话,那么你大可不必先学习C语言然后在学C++。这样做并不是说没有好处,只是将来你会花费一些时间去忘掉C(面向过程)...
C语言中源程序与源文件的区别何在。
你好:我们开发过程中, 很少提及源程序和源文件。 一般都提源代码。和运行文件, 那就是可执行文件。源代码: 也就是可以进行阅读, 可以进行修改, 能进行编译生成的运行文件。对于你说的源程序和源文件。 我说的源代码应该包含了。
c语言中定义命名常量的意义何在?书上写什么确保一个数的值不会因错误...
定义命名常量一般有几个好处,一个就是提高程序的可读性,试想,如果你开发一个代码量非常大的软件,其中用到了很多常量,如果你直接写数字,久了之后你回来改程序,很可能就会在这些数字上纠结很久。另一个好处就是修改常量数值非常方便。有些常量会在很多地方引用,如果直接写数字,当这个常量要修改它...
C语言大神何在!!!?求解如下代码的意思
c+3); break; case 3:putchar(c+2); default:putchar(c+1); break; } } printf("\\n");}\/\/输入1\/\/c-'2'为-1,走default分支,打印'1'+1为'2'\/\/输入2\/\/c-'2'为0,从case 0开始走,打印'2'+4为'6'和case2的 '5'\/\/输入3\/\/c-'2'为1,打印'...
c语言 如下源码,运行的时候 有些语句直接被跳过,原因何在?求详解...
纯粹的scanf("%c"),或者getchar()都会把你上一次输入的回车符(\\n)读入了。然后你就读入了一个回车符。正确的方式是读入到一个字符串,再取字符串首位。代码:\/\/老师 学生 信息放在一起 并打印出来#include<stdio.h>union condition{int score[4];\/\/学生4科成绩char situation[40];\/\/教师工作...
C语言是一种什么语言?
按照常理,C语言学的越多,说明你的程序设计知识越多,设计起程序来应该更加得心应手,那么出现这种现象的原因何在呢?当然该问题的出现的原因是多方面的,但是其中最重要的一点就是长期以来程序设计的观念不是以如何处理好对象为出发点,而是以如何使用好语言为基本点。受这种思想的影响,我们的程序设计教学大多数不是以...
C语言 (*p)[] 与*p[]区别何在
括号内运算优先,区别在运算结果不同。求采纳
什么是C语言程序设计.
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统...
c语言初学者~~ 例如i=2和i==2区别何在呢???
i=2的意思是将2的值赋予i,也就是说现在i的值是2;而i==2是看他们相等吗,也就是说i的值不知道,看他是2吗,如果是这个语句就为真,如果不是,这个语句就为假!参考资料:自己手打。
刘柿炎消: 代码如下:<br><br>protected void Button1_Click(object sender, EventArgs e)<br> ...{<br> string filepath=FileUpload1.PostedFile.FileName;<br> ReadExcel(filepath, gdBom);<br> }<br> public void ReadExcel(string sExcelFile,GridView dgBom)<br...
义马市14743167764: 如何在c#下读取EXCEl表格中的数据,最好写一段代码?
刘柿炎消: (转) 创建、打开、读取、写入、保存的一般性代码: using System; using System.Reflection; // 引用这个才能使用Missing字段 namespace CExcel1 { class Class1 { [STAThread] static void Main(string[] args) { //创建Application对象 Excel....
义马市14743167764: 求c#读取excel中数据的方法 - ?
刘柿炎消: 这东西很简单,引用office的excel的dll然后打开这个excel文件,就跟读取一个二维表一样容易.具体代码就不写了 百度一搜一大堆.
义马市14743167764: VS2010 C#如何读取Excel数据 - ?
刘柿炎消: 读取Excel首先你在引用中得引用Microsoft office Excel 20** 对应的dll文件,才能读取到Excel的数据 在类里面引用:System.Data.OleDb;static public DataSet ExcelToDataSet(string filename){DataSet ds;string strCon = "Provider=Microsoft....
义马市14743167764: 求c#读取excel中数据的方法?
刘柿炎消:using System; using System.Reflection; using Excel = Microsoft.Office.Interop.Excel; namespace CExcel1 { class Class1 { [STAThread] static void Main(string[] args) { int[,]arraynumber = new int[4,4]; Excel.Application xApp=new Excel....
义马市14743167764: c#如何读取excel文档中单元格内容 - ?
刘柿炎消: 你只要把有内容的单元格内容读出,使用OleDbDataAdapter填充到数据集?尝试这样做,你使用这样的SQL语句——select * from xxx where ([Column1]null And [Column1]"" And [Column2]null And [Column2]""…… And [ColumnN]null And [ColumnN]"")填充数据到数据集中,试试看.:)
义马市14743167764: 如何应用C#读取excel中的数据 - ?
刘柿炎消: public DataTable LoadDataFromExcel(string Path){string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + Path + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";OleDbConnection conn = new ...
义马市14743167764: c#怎么读取excel文件数据库 - ?
刘柿炎消: string strConn=string.format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties='Excel 12.0 Xml;HDR=YES'","你的文件名");using(OleDbConnection conn = new OleDbConnection(strConn)) { conn.Open(); ...
义马市14743167764: c#怎么获取excel单元格 - ?
刘柿炎消: 新建一个form,添加一个button,和一个dataGridView.新建一个Excel文档,这里是一个例子,文件 读取Excel表内容,并且以dataset返回.public DataSet getData() {//打开文件 OpenFileDialog file = new OpenFileDialog(); file.Filter = "Excel...
义马市14743167764: Visual C#读取Excel表格中的数据 - ?
刘柿炎消: private DataSet CreateDataSource() { string strCon; strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0;"; OleDbConnection olecon = new OleDbConnection(...