C# 读取excel数据的两个方法
C# 读取excel数据的两个方法
oledb方法
程序代码
using System.Data.OleDb;
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\test.xls; Extended Properties=Excel 8.0"; OleDbConnectionmyConn = new OleDbConnection(strCon);
string strCom = " Select * FROM [1$A1:C100] ";
myConn.Open();
OleDbDataAdaptermyCommand = new OleDbDataAdapter(strCom, myConn);
DataSetmyDataSet = new DataSet();
myCommand.Fill(myDataSet, "1$");
myConn.Close();
dataGridView1.DataSource = myDataSet.Tables[0]; //MessageBox.Show(dataGridView1.ColumnCount.T oString());
dataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.Columns[1].SortMode =
DataGridViewColumnSortMode.NotSortable;
dataGridView1.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridView1.ReadOnly = true;
Excel.Application方法
程序代码
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
Excel.ApplicationoXL = new
Microsoft.Office.Interop.Excel.Application();
oXL.Visible = true;
Excel._Workbook
oWB2=(Excel._Workbook)oXL.Workbooks.Open(@"f:\test.xl
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value
);
Excel._WorksheetoSheet =
(Excel._Worksheet)oWB.ActiveSheet;
Excel.ShapetestShape;
Excel.Rangeorng;
testShape = oSheet.Shapes.AddLine(30, 30, 100,
testShape.Line.BeginArrowheadStyle = Microsoft.Office.Core.MsoArrowheadStyle.msoArrowheadOva l;
testShape.Line.EndArrowheadStyle =
Microsoft.Office.Core.MsoArrowheadStyle.msoArrowheadOpe n;
testShape.Line.Style =
Microsoft.Office.Core.MsoLineStyle.msoLineThickBetweenThi n;
oWB2.SaveAs(@"c:\1.xls",
Microsoft.Office.Interop.Excel.XlFileFormat.xlExce l8,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value,
Excel.XlSaveAsAccessMode.xlNoChange,
Missing.Value,
Missing.Value,
Missing.Value,
Missing.Value, Missing.Value); oXL.Quit();
c读取excel几种方法的体会
c读取excel几种方法的体会(2) (2):Com组件的方式读取Excel 这种方式需要先引用Microsoft.Office.Interop.Excel 。首选说下这种方式的优缺点 优点:可以非常灵活的读取Excel中的数据 缺点:如果是Web站点部署在IIS上时,还需要服务器机子已安装了Excel,有时候还需要为配置IIS权限。最重要的一点因为是基于单元格方式读取的,所以数据很慢(曾做过试验,直接读取千行、200多列的文件,直接读取耗时15分钟。即使采用多线程分段读取来提高CPU的利用率也需要8分钟。PS:CPU I3) 需要读取大文件的的童鞋们慎重。。。 附上单线程和多线程读取类: public class ExcelOptions { private Stopwatch wath = new Stopwatch(); /// <summary> /// 使用COM读取Excel /// </summary>
/// <param name=”excelFilePath”>路径 </param> /// <returns>DataTabel</returns> public System.Data.DataTable GetExcelData(string excelFilePath) { Excel.Application app = new Excel.Application(); Excel.Sheets sheets; Excel.Workbook workbook = null; object oMissiong = System.Reflection.Missing.Value; System.Data.DataTable dt = new System.Data.DataTable(); wath.Start(); try { if (app == null) { return null;
.NET页面数据导出excel表方法
public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }
Java读取Excel文件的几种方法
Java读取Excel文件的几种方法 最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。 读取excel文件的常用开源免费方法有以下几种: JDBC-ODBC Excel Driver jxl.jar jcom.jar poi.jar 下面分别对这几种方法分别进行探讨 1、JDBC-ODBC Excel Driver 这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可 查询excel表格。优点是:不需要第三方的jar包。 如下表样 首先在控制面板进行数据源ODBC登记 具体方法如下:
下面就是代码了。 package xuzhe;
import java.io.*; import java.sql.*; //java xuzhe.ExcelJDBC public class ExcelJDBC { public static void main(String[] args) throws SQLException{ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection( "jdbc:odbc:ExcelJDBC" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println ("表格列数"+numberOfColumns ); System.out.println( rsmd.getColumnName(1)+ "," + rsmd.getColumnName(2) + "," + rsmd.getColumnName(3)); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } rs.close(); st.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } finally { con.close(); } } } 执行结果如下:
(整理)C导入Excel数据的方式两种.
C#导入Excel数据的方式(两种) 方式一、导入数据到数据集对象,只支持Excel的标准格式,即不能合并单元格等等 ///
用Excel获取网页内容的方法
在浏览网页时,你一定会不时看到一些需要保存的数据信息。这些信息或许是一个完整的表格,或许是一段文字,如果要保存这类信息,我们常用的方法就是拖动鼠标,选中这些信息,然后用Ctrl+C组合键复制文字,然后再保存到Word、Excel当中去。 这样的步骤算不上麻烦,但如果要求你在一个个内容丰富的大网页(比如新浪、网易、Sohu首页)中频繁地复制、粘贴,一定会让你感到疲劳和浪费时间。有什么好办法呢?用“Ctrl+A”全选后复制所有文字?粘贴后你会发现麻烦更大,因为所有文字都堆在一起了!下面,理睬教你一种方便的方法。 实例:抓取新浪首页不同位置内容 第一步:打开IE,访问理睬博客首页https://www.360docs.net/doc/9711718049.html,/ 。 第二步:在网页左侧或右侧的空白处点击鼠标右键,在菜单中选择“导出到Microsoft Office Excel”。注意,不要在文字链接之间的空白处点右键,而是应该在完全没有任何网页内容的地方点右键。 第三步:这时Excel会启动,并出现一个“新建Web查询”的窗口。稍等片刻,等待这个窗口中显示出了完整网页,左下角会出现“完毕”字样。注意观察网页,你会发现网页被分割成了很多小的表格,每个表格的左上角有一个小的箭头标志。 第四步:双击窗口最上方标题栏,最大化窗口。依次找到要收藏的内容,然后按下该位置左上角的箭头,使它变成绿色的对勾。然后按下下方的“导入”按钮。 第五步:在弹出窗口中选择放置位置,然后按下“确定”按钮,文字、表格信息就可以自动导入Excel 了。字体格式、颜色自动处理为Excel默认的样式,表格也会被放到适当的单元格中。这样,就有效避免了直接复制粘贴网页造成一些无法识别的格式、链接信息加入网页,同时提高了导入速度。 你知道吗? 如何不将网页格式带入Office文档中? 当你在浏览器中复制一段内容,然后粘贴到Word、Excel中,会将一些网页格式直接照搬进来,这可能不是我们希望的,因为它会增大文件体积,也不利于加工整理。其实,你只要不用“Ctrl+V”来粘贴,而是选择Word、Excel中的“编辑→选择性粘贴→文本”来进行粘贴就可以了。
c_实现excel数据高效导入到sql数据库
c#实现excel数据高效导入到sql数据库 本文来自: IT知道网(https://www.360docs.net/doc/9711718049.html,) 详细出处参考: https://www.360docs.net/doc/9711718049.html,/html/net/c/20081210/3092.html 本文实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是 System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我的开发环境中只需要10 秒左右,而真正的导入过程只需要4.5秒。 using System; using System.Data; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //测试,将excel中的sheet1导入到sqlserver中 string connString = "server=localhost;uid=sa;pwd=sqlgis;database=master"; System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd.ShowDialog() == DialogResult.OK) { TransferData(fd.FileName, "sheet1", connString); } } public void TransferData(string excelFile, string sheetName, string connectionString) { DataSet ds = new DataSet(); try { //获取全部数据 string strConn = "Provider=Microsoft.Ace.12.0.OLEDB.12.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 12.0;"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open();
C# 读取ExCEL表格的内容
C# winform 开发之Excel操作(二)------读取Excel表格 2011-07-14 17:28 读取Excel方法有多种,这里我主要讲两种方式。 方法一:sql语句读取Excel 这种方法,对于连接过数据库的人来说,一定不陌生。 原理大致为:通过select语句读取Excel表的内容,存放在dataset中。这样,我们就可以很方便操作Excel表格。 大致分为以下几步: 记得先添加命名空间: using System.Data.OleDb; //Excel表数据操作 1.创建连接,引用协议 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; //其中参数”filePath“,是安放Excel的位置。例如:E:/1.xls。 OleDbConnection OleConn = new OleDbConnection(strConn); 2.打开连接,并执行sql语句,别忘了末尾关闭连接 OleConn.Open(); String sql = "SELECT * FROM [Sheet1$]";//可是更改Sheet名称,比如sheet2,sheet3等等 //这是要执行的sql语句,你应该不陌生吧! OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); DataSet OleDsExcle = new DataSet(); OleDaExcel.Fill(OleDsExcle, "Sheet1"); OleConn.Close(); 如果,还不清楚,不怕。下面,我们通过实例来加深理解。 源代码: public static DataTable ReadExcel(string filePath)
网页数据如何简单导出excel
https://www.360docs.net/doc/9711718049.html, 网页数据如何简单导出excel 在浏览网页时,遇到我们需要的网页数据时,如文字、图片等,如何能简单的导出到Excel 中,方便在本地电脑中查看和编辑呢?当然是有办法的啦!下面就为大家介绍几种简单快速的将网页数据导出到Excel的方法,大家可以灵活运用。 一、通过浏览器导出网页数据 具体操作:打开某网页后,右键点击网页空白处,在下拉列表中选择“另存为”,然后在弹出的保存窗口中选择保存类型为“网页全部”。选择保存位置后确定,保存后就会自动保存两个文件,一个是网址,另一个是保存网页内容元素。 如何导出网页数据,以赶集网采集为例图1
https://www.360docs.net/doc/9711718049.html, 二、通过网页数据采集器导出网页数据 先通过网页数据采集器,将网页数据采集下来,然后再导出为需要的格式即可。本文使用的是操作简单、功能强大的八爪鱼采集器。以下是一个八爪鱼采集并导出网页数据的完整示例。示例中采集的是赶集网上房产-商铺-深圳-南山分类下的所有商铺信息。 示例网站:https://www.360docs.net/doc/9711718049.html,/fang6/nanshan/ 步骤1:创建采集任务 1)进入主界面,选择“自定义模式” 如何导出网页数据,以赶集网采集为例图2 2)将要采集的网址URL,复制粘贴到网址输入框中,点击“保存网址”
https://www.360docs.net/doc/9711718049.html, 如何导出网页数据,以赶集网采集为例图3 步骤2:创建翻页循环 1)在页面右上角,打开“流程”,以展现出“流程设计器”和“定制当前操作”两个板块。将页面下拉到底部,点击“下一页”按钮,在右侧的操作提示框中,选择“循环点击下一页”
VS2008环境使用MFC操作读取excel文件
1. 建立MFC工程,MDI(基于对话框),其他默认即可。 2. 操作Excel文件初始化: a. project->add class->MFC class from typelib (项目->添加类->Typelib中的MFC类)导 入Excel.exe,一般都在C:/Program Files/Microsoft Office/Office12路径下(即选择你的office 安装路径下的excel.exe加入) b. 选中以下几项_Application,_WorkSheet,_WorkBook,WorkSheets,WorkBooks,Range,然 后导入; c. 导入后自动在工程中添加 CApplication,CWorkSheet,CWorkBook,CWorkSheets,CWorkBooks,CRange 这些类; 然后需要把这些类的头文件中的第一句话#import ".......EXCEL.EXE" nonamespace 删除; 引入之后如果编译遇到错误,Not enough actual parameters for macro 'DialogBoxW'. 让人头疼! 解决方法是在CRange类中, [cpp]view plainc opy 1.VARIANT DialogBox() 2.{
3. VARIANT result; 4. InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL); 5.return result; 6.} DialogBox()前面添加下划线变成_DialogBox(),解决了! 3.操作excel文件 在“资源”里面选择MFC自动建立的对话框,双击“打开”按钮(若没有就自己做一个),然后程序会将你到对这个按钮的函数里,在函数中写如下内容:(文件是CxxxDlg.cpp xxx 是你的项目名称) [cpp]view plainc opy 1.void Cexcel打开3Dlg::OnBnClickedOk() 2.{ 3.// TODO: 在此添加控件通知处理程序代码 4. CApplication app; 5. CWorkbooks books; 6. CWorkbook book; 7. CWorksheets sheets; 8. CWorksheet sheet; 9. CRange range; 10. CRange iCell; 11. LPDISPATCH lpDisp; 12. COleVariant vResult; 13. COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); 14.if(!app.CreateDispatch(L"Excel.Application")) 15. { 16. AfxMessageBox(L"无法启动Excel服务器!"); 17.return; 18. } 19. books.AttachDispatch(app.get_Workbooks());
在C#读写Excel
在C#读写Excel 1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe 2:命名控件的引入: using Microsoft.office.Interop.Excel; 3:如果是对一个已经存在的excel文件进行操作则: Application app=new Application(); Workbook wbook=app.Workbooks.Open("c:\\temp.xls",Type.Missing,Type.missing,Type.missing,Type.missin g,Type.missing,Type.missing,Type.missing,Type.missing,Type.missing,Type.missing,Type.missing,Ty pe.missing,Type.missing,Type.missing); Worksheet worksheet=(Worksheet)wbook.Worksheets[1]; 4:如果是新建一个excel文件: Application app=new Application(); Workbook wbook=app.Workbook.Add(Type.missing); Worksheet worksheet=(Worksheet)wbook.Worksheets[1]; 5:设置某个单元格里的内容: worksheet.Cells[1,2]="列内容" 6读取某个单元格里的内容 string temp=((Range)worksheet.Cells[1,2]).Text; 7设置某个单元格里的格式 Excel.Range rtemp=worksheet.get_Range("A1","A1"); https://www.360docs.net/doc/9711718049.html,="宋体"; rtemp.Font.FontStyle="加粗"; rtemp.Font.Size=5; 8 保存新建的内容: worksheet.SaveAs("c:\\temp.xls",Type.missing,Type.missing,Type.missing,Type.missing,Type.missi ng,Type.missing,Type.missing,Type.missing); 北大青鸟中关村软件学院 地址:北京市海淀区中关村大街49号大华科技商厦C座3层
matlab读取excel数据
matlab读取excel office的表格文件也就是xls文件本质上就是一个二维矩阵,二维矩阵是用来保存数据的最佳方式,所以在日常工作中,我们从其它地方获取的数据通常都被保存为xls格式,但处理数据时,我们却需要把xls文件的数据导入到matlab里进行处理。 如果你只处理一个文件并且只做一次的话,你可以手动来拷贝粘贴,这花费不了你太多时间。如果有很多xls文件,或者你的xls文件的内容可能随时被修改,那么下面的方法可以派上用场。 matlab自身提供了大量的函数,包括读取office文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。 xlsread对于纯数据的xls文件支持很完美,也就是说当xls文件里的每个格子都是“数”时,xlsread会直接返回一个实数矩阵。但是通常我们拿到xls文件并不是这样,它的表头多半是描述性文字,它的数据也有可能是文字,有些位置的数据还有可能是缺失的。xlsread 对这样的文件读取无能为力,或者说需要大量的时间去协调数据的位置信息。要是有一个函数,能够按照原有的顺序直接读取所有的单位格数据就好了。当然,这时候返回的矩阵就不能是一个数值矩阵了,它将会是一个cell矩阵,里面的每个元素类型可能不一样。 matlab本身并不提供这个功能,但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去OfficeDoc官方网站上去下载,解压缩后放到工作路径上即可。使用方法可以查询help officedoc。officedoc是收费函数包,但有免费版本,而且其免费版本可以实现上面我们所说的效果(收费版本主要是可以用来修改office文件)。 例子: 在matlab中读取xls格式的文件内容如应用如下函数: 1.bb=xlsread('c:feature.xls','a0:an40'),其中:c:feature.xls为文件存放的地址,a0:a40为将要读取的单元格的范围.bb为读取的矩阵在MATLAB中的变量名. 2.使用m文件脚本如下: Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); Workbooks = Excel.Workbooks; Workbook = invoke(Workbooks, 'Open', [cd,'\feature\ABC.xls']); %% 读取ABC.xls:sheet1 a1(即R1C1)~an40(即R240c40) 范围内的 40by40 矩阵read_excel=ddeinit('excel','ABC.xls:sheet1'); feature1 = ddereq(read_excel, 'R1c1:R40c40'); feature1 %% 关闭ABC.xls invoke(Excel, 'Quit'); delete(Excel); 注意:在使用时将m文件与xls文件存于同一个目录下.另外:sheet1:可以重命名,且读取sheet的名称要和实际存放的名称相同. matlab读取excel,txt文件函数 注意matlab不识别中文,读写的文件中最好不含有中文 excel读取函数xlsread
Excel轻松提取网上数据
网上信息采集工作,最头疼的便是从网页上一次次很枯燥地进行数据表格的复制,而且在复制过来之后还要进行很多修改,不但麻烦而且也很浪费时间,工作效率大打折扣。这时我们不妨用功能强大的Excel来试着解决一下问题。 对于比较规范的表格数据,我们完全可以在表格页面上点击右键,选择"导出到Microsoft Office Excel"(图1),此时系统会自动打开Office Excel,进行数据加载。这个过程仅需要几秒钟就把数据加载进来(图2)。如果你认为数据比较适合你的编辑要求,那么就可以直接保存了。否则,也可以做一下适当的修改,因为在表格处理方面,Excel要大大优于word。 图1 在网上表格或数据采集这一点上,Excel往往是较为智能化的,它在进行数据采集与加载时,只加载表格固定区域内的数据,而不是把整个网页都加载进来。这一点我试过很多次,都是很听话的,请看图片2的效果。
图2 当然,在网页中也有一些不太规范的数据与表格,这样的数据,Excel处理起来,稍稍有一点难度,不过只要熟悉Excel 的操作功能的话,还是可以轻松搞定的。先看一下这个页面(图3), 图3 图3这种不规范的页面数据,如果让Excel处理起来就会出现这样的结果(图4),看着是不是感觉很乱,所有的东西都错位了,一般的人会感到速手无策的。主要原因就是多出了文件数据的开头与结尾。
图4 不过,只要我们删除文件上下两头的不规范的区域,剩下的这些数据不就变得好处理了吗?这时,我们再执行一下菜单:"数据――分列――下一步",这样就可以把不规范的数据变得规范了。这是处理之后的结果(图5) 图5 对于那些本来就比较规范的表格,就简单得多了,只要执行"导出加载――略修――保存"就可以了。
C++读写excel
在Visual C++ 中调用Excel 2000 程蓬 #ifdef USE_OFFICEXP #import "C:\Program Files\Common Files\Microsoft Shared\Office10\MSO.DLL" #import "c:\\Program Files\\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.olb" #import "c:\Program Files\Microsoft Office\Office10\MSWORD.olb" rename("ExitWindows","ExitWindowsEx") #import "c:\Program Files\Microsoft Office\Office10\excel.exe" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") \ rename("DocumentProperties", "DocumentPropertiesXL") exclude("IFont","IPicture") #else #import "c:\Program Files\Microsoft Office\Office\MSO9.dll" #import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace #import "c:\Program Files\Microsoft Office\Office\MSWORD9.OLB" rename("ExitWindows","_ExitWindows") #import "c:\Program Files\Microsoft Office\Office\excel9.olb" rename("DialogBox", "DialogBoxXL") rename("RGB", "RBGXL") \ rename("DocumentProperties", "DocumentPropertiesXL") exclude("IFont","IPicture") #endif 在开发软件时,经常要将数据输出到Excel 2000中,在Excel 2000中对该数据进行进一步地格式化处理或进行计算处理。在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详细的介绍。在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB中类似。但要注意以下几点: 对于对象的属性值的读取或赋值,需要用GetProperty()或SetProperty(NewValue)函数,不能象VB中直接通过属性名称取值或赋值。例如:Worksheet.GetCount(), Worksheet.SetName(“Sheet1”)。 对集合对象中的成员对象的引用,必须使用集合对象的GetItem()函数。例如: Worksheets.GetItem(ColeVariant((long)1))或 Worksheets.GetItem(ColeVariant(“Sheet1”))取得第一个工作表。 在COM接口中,时常用到Variant,BSTR,SafeArray数据类型。Variant数据类型是一个联合,可表示几乎所有的类型的数据,具体用法见MSDN中的相关介绍,类_variant_t是对VARIANT数据类型的封装。在Excel 2000的VB编程帮助中,如果提到某函数或属性需要一个值,该值的数据类型通常是Variant,在封装Excel 2000对象的类定义中,说明了具体需要的数据类型。BSTR是一个包括了字符串和字符串长度的数据结构,类_bstr_t是对BSTR数据类型的封装。在Excel 2000的VB编程帮助中提到的字符串通常指BSTR。具体函数参数或属性的数据类型,见封装该对象的类的定义。SafeArray是一个包括数组和数组边界的结构,数组边界外的内容不允许访问。在Excel 2000的VB编程帮助中提到的数组是指SafeArray。关于SafeArray的处理,请见MSDN的相关帮助。 对于缺省参数和缺省值。在VB中,函数的参数可以空缺,在VC++中不允许,必须将所有的参数填写完全。如果你希望指定某个参数为缺省值,根据参数数据类型的不同,可指定不同的缺省值。当参
html页面表格导出到excel总结
html页面表格导出到excel总结 最近一个项目需要把报表的表格导入excel,在网上找了一些方法,比较研究了一下,记在这里,备忘。 表格例子如下:
html 表格导出道Excel td> tr> | |||||||||||||
列标题1td> | 列标题2td> | 类标题3td> | 列标题4td> | 列标题5td> tr> | |||||||||
aaa td> | bbb td> | ccc td> | ddd td> | eee td> tr> | |||||||||
AAA td> | BBB td> | CCC td> | DDD td> | EEE td> tr> | |||||||||
FFF td> | GGG td> | HHH td> | III td> | JJJ td> tr> table> 1、js的方法 A、将整个表格拷贝到EXCEL中 function method1(tableid) { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); oXL.Visible = true; } B、读取表格中每个单元到EXCEL中: function method2(tableid)jsp页面内容导出到Excel中jsp页面内容导出到Excel中 日常使用网络资源时经常需要把网页中的内容下载到本地,并且导出到Excel中,现在介绍一种非常简单的方式实现网络资源的下载。只需要讲jsp的最上面加上一句话 <% response.reset(); response.setContentType("application/vnd.ms-excel;charset=GBK"); %> 就可以将网页的内容导出为Excel。 目前给出的例子为了方便起见,就是使用了纯粹的静态页面,一个table其中有一行是标题,一行是内容,但是实际使用中不可能这么简单,都是保持静态的内容,如果需要保存的内容是从数据库中取出,则只需要循环遍历取出的内容,添加行就行了,假如从数据库中取出的数据存入UserList 中,可以使用struts标签进行遍历如下:
|