导出数据到Excel的几种方法
“杳渺”通过精心收集,向本站投稿了9篇导出数据到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 导出数据: 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 今天,需要给别人的表导我表里的数据(表什么的都一样,就是不同实例),开始时就是弄不正确,复制、粘贴了老半天都不行,后来,找到了一个方法。在表上点击右键,选择“export data”,选择存放路径 填写自己要给文件起的名字 保存 点击“ok”按钮,在你所选的路径下就会对应生成对应的sql文件,直接拿到你需要的数据库中执行就好了, 作者:不吃皮蛋 字体:[增加 减小] 类型: 代码如下: 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语言程序设计有所帮助, 上篇文章介绍了一个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();?> 官方地址:code.google.com/p/gapi-google-analytics-php-interface/ GA维度和指标:code.google.com/intl/en/apis/analytics/docs/gdata/gdataReferenceDimensionsMetrics.html 作者:重负在身 字体:[增加 减小] 类型: 这篇文章主要介绍了python插入数据到列表的方法,涉及Python中insert方法的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python插入数据到列表的方法, python插入数据到列表的方法篇4:toad导出表的数据
篇5:Go语言导出内容到Excel的方法
篇6:使用PHP导出Google Analytics数据
<?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() ?> 篇7: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的几种方法】相关文章:
7.数据报告
8.数据管理制度
10.数据维护单选题






文档为doc格式