欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>导出数据到Excel的几种方法

导出数据到Excel的几种方法

2023-09-25 08:39:27 收藏本文 下载本文

“杳渺”通过精心收集,向本站投稿了9篇导出数据到Excel的几种方法,下面是小编为大家推荐的导出数据到Excel的几种方法,欢迎大家分享。

导出数据到Excel的几种方法

篇1:导出数据到Excel的几种方法

2.网上有好多关于用SQL语句导入导出的例子,这里不再重复写了,

方法1:调用com组件,导出access数据到Excel,就是直接调用access的导出功能,此方法速度超级快

using Access;

Access.ApplicationClass oAccess = new Access.ApplicationClass;

oAccess.Visible = false;

try

{

//ACCESS9:

oAccess.OpenCurrentDatabase(“d:wcf.mdb”,false,“”);

//导出到excel

oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,Access.AcSpreadSheetType.acSpreadsheetTypeExcel9,“工作表名”,“d:wcf.xls”,true,null,null);

//导入txt

// oAccess.DoCmd.TransferText(Access.AcTextTransferType.acExportDelim,“”,“Enterprise”,“d:wcf.txt”,true,“”,0);

oAccess.CloseCurrentDatabase();

oAccess.DoCmd.Quit(Access.AcQuitOption.acQuitSaveNone);

System.Runtime.InteropServices.Marshal.ReleaseComObject (oAccess);

oAccess = null;

MessageBox.Show(“导入成功”);

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

GC.Collect();

}

方法2:此方法速度也是超级快,只不过导出的格式非标准的Excel格式,默认工作表名与文件名相同

string FileName=“d:abc.xls”;

System.Data.DataTable dt=new System.Data.DataTable();

FileStream objFileStream;

StreamWriter objStreamWriter;

string strLine=“”;

objFileStream = new FileStream(FileName,FileMode.OpenOrCreate,FileAccess.Write);

objStreamWriter = new StreamWriter(objFileStream,System.Text.Encoding.Unicode);

for(int i=0;i

{

strLine=strLine+dt.Columns[i].ColumnName.ToString()+Convert.ToChar(9);

}

objStreamWriter.WriteLine(strLine);

strLine=“”;

for(int i=0;i

{

strLine=strLine+(i+1)+Convert.ToChar(9);

for(int j=1;j

{

strLine=strLine+dt.Rows[i][j].ToString()+Convert.ToChar(9);

}

objStreamWriter.WriteLine(strLine);

strLine=“”;

}

objStreamWriter.Close();

objFileStream.Close();

方法3:用Ado.net 此方法速度较以上两个显得慢了一些,数据量越大越明显

int Id=0;

string Name=“测试”;

string FileName=“d:abc.xls”;

System.Data.DataTable dt=new System.Data.DataTable();

long totalCount=dt.Rows.Count;

long rowRead=0;

float percent=0;

OleDbParameter[] parm=new OleDbParameter[dt.Columns.Count];

string connString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + FileName +“;Extended Properties=Excel 8.0;”;

OleDbConnection objConn = new OleDbConnection(connString);

OleDbCommand objCmd = new OleDbCommand();

objCmd.Connection = objConn;

objConn.Open();

//建立表结构

objCmd.CommandText = @“CREATE TABLE Sheet1(序号 Integer,名称 varchar)”;

objCmd.ExecuteNonQuery();

//建立插入动作的Command

objCmd.CommandText = “INSERT INTO Sheet1(”+Id+“,”+Name+“)”;

parm[0]=new OleDbParameter(“@Id”, OleDbType.Integer);

objCmd.Parameters.Add(parm[0]);

parm[1]=new OleDbParameter(“@Company”, OleDbType.VarChar);

objCmd.Parameters.Add(parm[1]);

//遍历DataTable将数据插入新建的Excel文件中

for(int i=0;i

{

parm[0].Value=i+1;

for(int j=1;j

{

parm[j].Value =dt.Rows[i][j];

}

objCmd.ExecuteNonQuery();

rowRead++;

percent=((float)(100*rowRead))/totalCount;

// this.FM.CaptionText.Text = “正在导出数据,已导出[” + percent.ToString(“0.00”) + “%]...”;

if(i==dt.Rows.Count-1)

// this.FM.CaptionText.Text = “请稍后......”;

System.Windows.Forms .Application.DoEvents();

}

objConn.Close();

//this.FM.CaptionText.Text = “”;

方法4:此方法调用com组件,速度都慢于以上3个方法

using Excel;

System.Data.DataTable dt=new System.Data.DataTable();

string FileName=“d:abc.xls”;

long totalCount=dt.Rows.Count;

long rowRead=0;

float percent=0;

Excel.Application xlApp=null;

xlApp=new Excel.Application();

Excel.Workbooks workbooks=xlApp.Workbooks;

Excel.Workbook workbook=workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);

Excel.Worksheet worksheet=(Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

Excel.Range range;

//写入字段

for(int i=0;i

{

worksheet.Cells[1,i+1]=dt.Columns[i].ColumnName;

range=(Excel.Range)worksheet.Cells[1,i+1];

}

for(int r=0;r

{

worksheet.Cells[r+2,1]=r+1;

for(int i=0;i

{

// worksheet.Cells[r+2,i+1]=dt.Rows[r][i];

if(i+1!=dt.Columns.Count)

worksheet.Cells[r+2,i+2]=dt.Rows[r][i+1];

}

rowRead++;

percent=((float)(100*rowRead))/totalCount;

// this.FM.CaptionText.Text = “正在导出数据,已导出[” + percent.ToString(“0.00”) + “%]...”;

System.Windows.Forms .Application.DoEvents();

}

range=worksheet.get_Range(worksheet.Cells[2,1],worksheet.Cells[dt.Rows.Count+2,dt.Columns.Count]);

workbook.Saved =true;

workbook.SaveCopyAs(FileName);

//this.FM.CaptionText.Text = “”;

方法5:利用剪贴板,有人说此方法很快,但是我用时,这种方法最慢,请高手指点.

System.Data.DataTable dt=new System.Data.DataTable();

string filePath=@“d:abc.xls”;

object oMissing = System.Reflection.Missing.Value;

Excel.ApplicationClass xlApp = new Excel.ApplicationClass();

try

{

xlApp.Visible = false;

xlApp.DisplayAlerts = false;

Excel.Workbooks oBooks = xlApp.Workbooks;

Excel._Workbook xlWorkbook = null;

xlWorkbook = oBooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,

oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);

Excel.Worksheet xlWorksheet;

// 添加入一个新的Sheet页,

xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing,oMissing,1,oMissing);

// 以TableName作为新加的Sheet页名。

xlWorksheet.Name =“企业名录”;

// 取出这个DataTable中的所有值,暂存于stringBuffer中。

string stringBuffer = “”;

for( int j=0; j

{

for( int k=0; k

{

stringBuffer += dt.Rows[j][k].ToString();

if( k < dt.Columns.Count - 1 )

stringBuffer += “t”;

}

stringBuffer += “n”;

}

// 利用系统剪切板

System.Windows.Forms.Clipboard.SetDataObject(“”);

// 将stringBuffer放入剪切板。

System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);

// 选中这个sheet页中的第一个单元格

((Excel.Range)xlWorksheet.Cells[1,1]).Select();

// 粘贴!

xlWorksheet.Paste(oMissing,oMissing);

// 清空系统剪切板。

System.Windows.Forms.Clipboard.SetDataObject(“”);

// 保存并关闭这个工作簿。

xlWorkbook.Close( Excel.XlSaveAction.xlSaveChanges, oMissing, oMissing );

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook);

xlWorkbook = null;

这些方法都没有关闭Excel进程,这种资料很多,在此不多写了,希望这些能对一些人带来方便.

篇2:关于expdp导出远程数据到本地的使用

关于expdp导出远程数据到本地的使用

对于数据的导出,导入,对于exp/imp可以实现把远程数据导入到客户端,但是功能没有expdp/impdp强大

对于expdp/impdp功能很强大,但是对于导出的数据只能是在服务端。下面我们就基于通过expdp结合dblink

把数据直接导出到本地 下面使用导出

如果空间允许建议导出到服务器

# 对于orac_remote是一个本地命名,可以通过netca进行配置,或者直接修改相关配置文件# 需要保持orac_remote的system用户是open状态,并且密码是正确的# 可以通过 select * from scott.emp@to_orac_remote 进行测试,如果不成功,需要检查权限和用户已经命名空间orac_remote

1 创建dblink 连接create database link to_orac_remoteconnect to system identified by gpecnew using 'orac_remote'2 创建directory目录create directory backup as '/backup'grant read,write on directory backup to system3 编写expdp的parfile参数文件 scott.paruserid=system/rootdirectory=backupdumpfile=scott.dumplogfile=scott.logschemas=scottnetwork_link=to_orac_remote4 执行命令导出到本地expdp parfile=scott.par5 导入到本地(测试的时候先在本地删除scott用户以及所有的表 drop user scott cascade)impdp system/root directory=backup dumpfile=scott.dump logfile=scott2.log

篇3:不落地数据导入导出

这种情况一般就是本机磁盘空间不够,但是有些数据需要迁移,昨天就遇见这么一个情况:

一朋友需要将一个400GB的日志表从10g数据导入到11g中,但是因为10g数据库所在主机磁盘空间不够所以才想不落地方式导出导入

这里给大家介绍两种方式:

1、network_link

2、pipe

先说第一种方式,需要配置tnsnames.ora 和创建dblink:

zbdba= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = zbdba)(PORT = 1521)) ) (CONNECT_DATA = (SID = zbdba) ) )

创建dblink:

CREATE DATABASE LINK CONNECT TO IDENTIFIED BY USING ''

导出数据:

impdp zbdba/zbdba network_link=zbdba_link remp_schema=source_schema:target:shcema remap_tablespace=source_tablespace:target:tablespace

同时impdp 带network_link 导入

第二种方法:

source:mknod /tmp/exp_pipe ptarget:mknod /tmp/imp_pipe p配置两个机器的互信dd if=/tmp/exp_pipe | ssh 192.168.56.42 dd f=/tmp/imp_pipe然后打开另外一个窗口进行导入:exp zbdba/zbdba file=/tmp/exp_pipe log=zbdba.log tables=zbdba

注意第一种方法在指定多个表的时候可能会出现bug

篇4:toad导出表的数据

今天,需要给别人的表导我表里的数据(表什么的都一样,就是不同实例),开始时就是弄不正确,复制、粘贴了老半天都不行,后来,找到了一个方法。在表上点击右键,选择“export data”,选择存放路径

填写自己要给文件起的名字

保存

点击“ok”按钮,在你所选的路径下就会对应生成对应的sql文件,直接拿到你需要的数据库中执行就好了,

篇5:Go语言导出内容到Excel的方法

作者:不吃皮蛋 字体:[增加 减小] 类型:

代码如下:

package main

import (

“os”

“encoding/csv”

)

func main {

f, err := os.Create(“haha2.xls”)

if err != nil {

panic(err)

}

defer f.Close()

f.WriteString(“\xEF\xBB\xBF”) // 写入UTF-8 BOM

w := csv.NewWriter(f)

w.Write([]string{“编号”,“姓名”,“年龄”})

w.Write([]string{“1”,“张三”,“23”})

w.Write([]string{“2”,“李四”,“24”})

w.Write([]string{“3”,“王五”,“25”})

w.Write([]string{“4”,“赵六”,“26”})

w.Flush()

}

希望本文所述对大家的Go语言程序设计有所帮助,

篇6:使用PHP导出Google Analytics数据

上篇文章介绍了一个Excel导出Google Analytics 数据,这一篇算是进阶,教你怎么使用PHP 导出Google Analytics数据,

关于Google Analytics接口的介绍请看这里:Google Analytic 数据导出API接口

GAPI 即 Google Analytics PHP5 Interface的主要功能有:

自动选择连接方式是curl或fopen

支持GA维度指标数据

账户数据映射-获得参数的方法

报告数据映射-获得维度和指标的方法

容易使用的过滤器

面向对象的代码可以让你在其他系统中使用。

GAPI使用示例:

<?phpdefine('ga_email','username@gmail.com');define('ga_password','password');define('ga_profile_id_cn_0','1234567'); require 'gapi.class.php'; $start = mktime(0,0,0,date(“m”),date(“d”)-30,date(“Y”));$end = mktime(0,0,0,date(“m”),date(“d”)-2,date(“Y”));$start_date = date(“Y-m-d”,$start);$end_date = date(“Y-m-d”,$end);$ga = new gapi(ga_email,ga_password,isset($_SESSION['ga_auth_token'])?$_SESSION['ga_auth_token']:null);$_SESSION['ga_auth_token'] = $ga->getAuthToken();?>  EDM流量数据 EDM流量数据

<?php $filter = “medium==edm”;?><?php $ga->requestReportData(ga_profile_id_cn_0,array('date'),array('visits','pageviews','bounces','entrances','goal1Completions','goal2Completions','goal3Completions','goal4Completions','goal5Completions'),'-date',$filter,$start_date,$end_date); ?><?php foreach($ga->getResults() as $result):?><?php endforeach;?>
日期访问者浏览量跳出率订单数
<?php echo $result; ?><?php echo $result->getVisits(); ?><?php echo $result->getPageviews(); ?><?php echo round($result->getBounces()/$result->getEntrances()*100,2).'%'; ?><?php echo $result->getGoal1Completions() ?>

官方地址:code.google.com/p/gapi-google-analytics-php-interface/

GA维度和指标:code.google.com/intl/en/apis/analytics/docs/gdata/gdataReferenceDimensionsMetrics.html

篇7:python插入数据到列表的方法

作者:重负在身 字体:[增加 减小] 类型:

这篇文章主要介绍了python插入数据到列表的方法,涉及Python中insert方法的使用技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了python插入数据到列表的方法,

python插入数据到列表的方法

分享给大家供大家参考。具体如下:

list = [“red”,“green”]list.insert(1,“blue”)assert list == [“red”,“blue”, “green”]

希望本文所述对大家的Python程序设计有所帮助。

篇8:Excel和Access间复制、导入和导出数据

在Microsoft OfficeAccess和 Microsoft OfficeExcel之间存在多种交换数据的方法,

・若要将Access中的数据装入 Excel,可以从Access数据表中复制数据并粘贴到Excel工作表中,从Excel工作表连接到Access数据库,或者将Access数据导出到Excel工作表中。

・若要将Excel中的数据装入 Access,可以从Excel工作表复制数据并粘贴到Access数据表中,将Excel工作表导入Access表中,或者从Access表链接到Excel工作表。

注释

・“导入”一词在Excel和Access中的意义各不相同。在Excel中,导入指的是建立一个可刷新的永久数据连接。在Access中,导入则指将数据装入Access中一次,但不建立数据连接。

・您不能将Excel工作簿保存为Access数据库,

Excel 和Access都不提供利用Excel数据创建Access数据库的功能。

在Excel中使用Access数据

如果数据在Access中,但您希望在Excel中使用这些数据:

操作:交换的性质:将Access数据复制到Excel中临时将Access数据导出到 Excel定期从Excel连接到Access数据永久

在Access中使用Excel数据

如果数据在Excel中,但您希望在Access中使用这些数据:

操作:交换的性质:将Excel数据复制到Access中临时将Excel数据导入到 Access定期从Access链接到Excel数据永久

篇9:如何从excel中导出联系人到Outlook

说起来挺郁闷的,在将Notes中的通讯录导出EXCEL后做了一下初步整理,想直接导入到Outlook中去,结果说不能识别的文档,

1,于是将Outlook中导出一个空联系人表格,表头(第一行)不变下面填入对应的用户信息。导入进度条也出现了,但到联系人里看只有表格中的前三条信息,反复几次依旧;

2,将前三条信息删除,再次导入,却一个也没进去 于是把表格放另一机器上,结果导入也只有三个联系人,

3,以为是安装了IBM notes access domin for outlook导致的,找了另一台新装OFFICE测试,没有一个用户被导入!这就郁闷了~

4,突然想起来还有一个CSV格式可以导入,于是赶紧将表格另存为CSV格式,导入时间明显比之前长了,呵呵,结果是可想而知的,成功了。

文件-导入、导出-从另一程序式文件导入-》以逗号为分隔符(windows)-下一步到完成。

注意:被导入的表格必须是不在开启状态下的。

【导出数据到Excel的几种方法】相关文章:

1.关于expdp导出远程数据到本地的使用

2.财务报表数据分析方法

3.数据包络分析方法的研究进展

4.多源数据融合方法的理论研究

5.微信聊天记录导出微信聊天记录怎么看

6.高空气象探测数据质量控制方法论文

7.数据报告

8.数据管理制度

9.1岁半到2岁育儿经验和方法心得

10.数据维护单选题

下载word文档
《导出数据到Excel的几种方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部