当前位置:文档之家› delphi批量导入数据

delphi批量导入数据

delphi批量导入数据
delphi批量导入数据

delphi批量导入数据

从Excel中导入数据到Access中:

procedure TForm5.Button3Click(Sender: TObject); //excel导入

var

EXLfile:string;

sheet,XLApp,workbook : variant;

iRow,MaxRow:integer;

begin

if opendialog1.Execute then

begin

EXLfile:=opendialog1.FileName;

screen.Cursor:=crHourGlass;

try

//创建对象

XLApp:=createOleObject('Excel.Application');

XLApp.displayAlerts:=false; //运行宏时是否显示警告和消息

XLApp.ScreenUpdating:=false; //屏幕更新功能,提高速度;

XLApp.WorkBooks.Add(EXLfile);

workbook := XLApp.workbooks[1];

sheet:=workbook.worksheets[1];

//sheet:=XLApp.WorkBooks[1].worksheets[1];

//得到最大行数maxRow

XLApp.ActiveCell.SpecialCells(xlLastCell).Select;

maxRow:=XLApp.ActiveCell.Row; //当前行数

//最大行数

//写数据到access库

with Dm1.aq_temp do

begin

Close;

SQL.Clear ;

SQL.Add('select * from peo ');

open ;

for iRow:=1 to MaxRow do // 循环次数为excel最大行数字-1,因为excel的第1行为ID name表头。

begin

Edit;

Append;

fieldByName('P_No').asString:=sheet.cells[iRow,1];

fieldByName('P_Name').asString:=sheet.cells[iRow,2]; //导入

post;

end;

end;

finally

if not VarIsEmpty(XLApp) then

begin //释放对象

XLApp.displayAlerts:=false;

XLApp.ScreenUpdating:=true; //结束后,ScreenUpdating 设回到True

XLApp.quit;

end;

screen.Cursor:=crDefault;

end;

end;

end;

现在sql里有book的表,里面有

id 书名价格

id bookname price

1 社会与科学 18

2 delphi入门 25

3 百科 30

在delphi里现在希望先把数据从excel导入到dbgrid中,然后点“批量插入”时,把刚才所有存到导入的dbgrid的数据插入到sql中,问一下大家怎么才能做到,有二个关键代码

1.button1:“从excel导入到dbgrid中”的关键代码

2.button2:"批量插入dbgrid数据到数据库中"的关键代码

如果利用dbgrid其实就是利用数据集来操作

从excel读数据,然后利用

adoquery.append;

adoquery.fieldbyname('').value := 读的值

....

...

然后,对dbgrid进行编辑.

最后adoquery.post;就达到了批量提交了.

但这里要用事务来控制.

读Excel代码:利用一个结构体,供你参考

var

RangeMatrix: Variant;

OpenDialog1: TOpenDialog;

iRE: integer;

IN_TYPE,vStockName: String;

sStockName,sCompany: String;

i: Integer;

MsExcel, MsExcelWorkBook, MsExcelWorkSheet: Variant;

ASN2_NEW: PASN2_NEW;

begin

OpenDialog1:=TOpenDialog.Create(nil);

try

OpenDialog1.FileName:='*.csv;*.xls';

if not OpenDialog1.Execute then

begin

Result := false;

exit;

end;

MsExcel := CreateOleObject('Excel.Application');

MsExcelWorkBook := msExcel.Workbooks.Open(OpenDialog1.FileName);

MsExcelWorkSheet := msExcel.Worksheets.Item[1];

except

Result := false;

end;

//开始从EXCEL文件读取相关的信息

try

Application.ProcessMessages;

for i := 1 to MsExcelWorkSheet.Rows.Count do

begin

New(FASN2);

FASN2.In_Stock_No := trim(MsExcelWorkSheet.Range['B1'].Value);

FASN2.MAIN_FLG := trim(MsExcelWorkSheet.Range['A' + IntToStr(i)].Value); FAsn2List.Add(FASN2);

//在这里可以调用adoquery.append代码

end;

Result := true;

finally

MsExcel.WorkBooks.Close;

end;

MsExcel.Quit;

OpenDialog1.Free;

end;

为了更清淅的表达我的意思,上传一张图

在delphi里现在希望先把数据从excel导入到dbgrid中,然后点“批量插入”时,把刚才所有存到导入的dbgrid的数据插入到sql中,问一下大家怎么才能做到,有二个关键代码

1.button1:“从excel导入到dbgrid中”的关键代码

2.button2:"批量插入dbgrid数据到数据库中"的关键代码

//excel 读到 dbgrid

var

str:string;

begin

str:='select * from opendatasource(''microsoft.jet.oledb.4.0'',''da ta source="文件路径";user id=admin;password=;extened properties=excel 5.0'')...[sheet1$] ';

adoquery.close;

adoquery.sql.clear;

adoquery.sql.add(str);

adoquery.active:=true;

adoquery.open;

end;

//dbgrid 导入数据表

var

str:string;

begin

str:='select * into t from opendatasource(''microsoft.jet.oledb.4. 0'',''data source="文件路径";user id=admin;password=;extened properties=excel 5.0'')...[sheet1$] ';

with adoquery do

begin

close;

sql.clear;

sql.add(str);

execsql;

if rowsaffected>0then

showmessage('插入成功')

else

showmessage(插入失败);

end;

end;

致:sz9214e

感谢你的回帖,其实这二个帖有一部分是重复的,就是把dbgrid数据批量插入到sql中,不同是的

这个帖重点:

把数据从excel导到dbgrid中,再把dbgrid数据批量插入到sql中

下一个帖的重点是:

先在DBGrid1中存放N条记录,但不要即时存入数据库中,全部录入完成时再把dbgrid 数据批量插入到sql中

上周因受了点伤没有上班,今天才开始上班,再次感谢你的回帖,能否把源程序发给我,这样我觉得快些,谢谢!

我的email是:ansameye@https://www.doczj.com/doc/b411630441.html,

解决问题的代码:

procedure TForm1.btnClick(Sender: TObject);

begin

OpenDialog1.Title := '请选择正确的excel文件';

OpenDialog1.Filter := 'Excel(*.xls)|*.xls';

if OpenDialog1.Execute then

edit1.Text := OpenDialog1.FileName;

end;

procedure TForm1.btninClick(Sender: TObject);

const

BeginRow = 2; BeginCol = 1;

var

Excel: OleVariant;

iRow,iCol : integer;

xlsFilename: string;

begin

if (trim(edit1.Text) = '') then

begin

MessageBox(GetActiveWindow(), 请选择正确的excel路径', MB_OK +

MB_ICONW ARNING);

exit;

end;

xlsFilename := trim(edit1.Text);

try

Excel := CreateOLEObject('Excel.Application');

except

Application.MessageBox('excel没有安装', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);

Exit;

end;

Excel.Visible := false;

Excel.WorkBooks.Open(xlsFilename);

try

iRow := BeginRow;

iCol := BeginCol;

while trim(Excel.WorkSheets[1].Cells[iRow,iCol].value) <> '' do begin

with ADOQuery1 do begin

Append;

Fields[0].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol].value);

Fields[1].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol+1].value);

Fields[2].Asstring := trim(Excel.WorkSheets[1].Cells[iRow,iCol+2].value);

iRow := iRow + 1;

end;

end;

Excel.Quit;

ADOQuery1.UpdateStatus ;

except

Application.MessageBox('导入数据出错', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);

Excel.Quit;

end;

MessageBox(GetActiveWindow(), '数据导入成功', '提示信息', MB_OK +

MB_ICONW ARNING);

end;

如何在DELPHI中将EXCEL中的数据导入到SQL数据库

var

s1:string;

begin

screen.Cursor:=crSQLWait;

s1:='insert into table_bus '+

'

(BS_NO,BS_TYPE,bs_whos,bs_mode,bs_seat,bs_soalseat,bs_drseat,bs_oilty pe,bs_buycard,bs_unit,BS_BDATE,bs_edate) '+

' SELECT 车号,dbo.uf_GetFullNameCode(车型名

称),dbo.uf_GetFullNameCode(所属单位),dbo.uf_GetFullNameCode(厂牌型号),核定座位,售票座位,驾驶室前排座位,dbo.uf_GetFullNameCode(燃料名称),购置证号,本外单位,启用日期,dbo.uf_ConvertNullDate(终止时间) '+

' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data

Source="'+trim(LabeledEdit1.text)+'";Extended Properties=Excel

8.0;Persist Security Info=False'')...[Sheet1$] '+

' where 车号 not in(select bs_no from table_bus) ';

try

DataModule1.ADOConnection1.Execute(s1);

finally

screen.Cursor:=crArrow;

end;

end;

EXCEL是可以当成一种数据源来处理的。 Str :=

'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + 文件路径 +

';Extended Properties=Excel 8.0;Persist Security Info=False';

然后每列相当于一字段

熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL 语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:

一、SQL SERVER 和ACCESS的数据导入导出

常规的数据导入导出:

使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤: ○1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation

○2Services(数据转换服务),然后选择 czdImport Data(导入数据)。

○3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。

○4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。

○5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。

○6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。下一步,完成。

Transact-SQL语句进行导入导出:

1.在SQL SERVER里查询access数据:

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/DB.mdb";User ID=Admin;Password=')...表名

2.将access导入SQL server

在SQL SERVER 里运行:

SELECT *

INTO newtable

FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/DB.mdb";User ID=Admin;Password=' )...表名

3.将SQL SERVER表里的数据插入到Access表中

在SQL SERVER 里运行:

insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source=" c:/DB.mdb";User ID=Admin;Password=')...表名

(列名1,列名2)

select 列名1,列名2 from sql表

实例:

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'C:/db.mdb';'admin';'', Test)

select id,name from Test

INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:/trade.mdb';

'admin'; '', 表名)

SELECT *

FROM sqltablename

二、SQL SERVER 和EXCEL的数据导入导出

1、在SQL SERVER里查询Excel数据:

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。

SELECT *

FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

2、将Excel的数据导入SQL server :

SELECT * into newtable

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

SELECT * into newtable

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

3、将SQL SERVER中查询到的数据导成一个Excel文件

T-SQL代码:

EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:/Temp.xls -c -q

-S"servername" -U"sa" -P""'

参数:S 是SQL服务器名;U是用户;P是密码

说明:还可以导出文本文件等多种格式

实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out

c:/temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'

EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:/ authors.xls -c -Sservername -Usa -Ppassword'

在VB6中应用ADO导出EXCEL文件代码:

Dim cn As New ADODB.Connection

cn.open "Driver={SQL

Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"

cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:/DT.xls -c -Sservername -Usa -Ppassword'"

4、在SQL SERVER里往Excel插入数据:

insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:/Temp.xls";User ID=Admin;Password=;Extended

properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:

INSERT INTO

OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',

'Extended Properties=Excel 8.0;Data

source=C:/training/inventur.xls')...[Filiale1$]

(bestand, produkt) VALUES (20, 'Test')

总结:利用以上语句,我们可以方便地将SQL SERVER、ACCESS和EXCEL电子表格软件中的数据进行转换,为我们提供了极大方便!

procedure TForm1.Button3Click(Sender: TObject);

var

oe:variant;

n1,str:string;

j:integer;

begin

if opendialog1.Execute then

opendialog1.DefaultExt:='xls';

str:=opendialog1.FileName;

oe:=CreateOleObject('Excel.Application');

oe.visible:=true;

oe.workbooks.open(str);

j:=2; //假定标题在第一行

try

with adoQuery2 do

begin

n1:='select * from ##tbl_cardgrant1 ';

close;

sql.Clear;

sql.Add(n1);

while oe.worksheets['查询结果1'].cells[j,1].text<>'' do

begin

for i:=1 to adoquery1.fieldcount do

Parameters.Items[i-1].Value:=oe.worksheets['查询结果

1'].cells[j,1].text;

memo2.Text:=n1;

execsql;

j:=j+1;

end;

oe.visible:=false;

showmessage('导入完毕');

end;

except

oe.visible:=false;

showmessage('数据库错误或有重复编号,请检查');

end;

end;

Excel文件记录导入到数据库中

前段时间由于工作需要,设计了一个基于InfoPath+SQL的查询系统,设计完成后,突然发现查询系统所需要的原始数据都是存放在Excel文档,如果将每条记录重新输入到SQL中,那过程将非常繁琐,通过在网络查询得到二种方法,但过程还是不太方便。现将以下几种方法汇总以下:

一、在程序中,用https://www.doczj.com/doc/b411630441.html,。代码如下:

//连接串

string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Extended PropertIEs=E xcel8.0;Data Source="+[EXCEL文件,含路径]+";";

OleDbConnection conn=new OleDbConnection(strConn);

conn.Open;

DataTable dtSchema=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object{null,null,null,"TABLE"});

DataSet ds=new DataSet;

//一个EXCEL文件可能有多个工作表,遍历之

foreach(DataRow dr in dtSchema.Rows)

{

string table=dr["TABLE_NAME"].ToString;

string strExcel="SELECT*FROM["+table+"]";

ds.Tables.Add(table);

OleDbDataAdapter myCommand=new OleDbDataAdapter(strExcel,conn);

myCommand.Fill(ds,table);

}

conn.Close;

这样,读取出来的数据就藏在DataSet里了。

采用这种方式,数据库所在机器不必装有EXCEL。

二、在查询分析器里,直接写SQL语句:

如果是导入数据到现有表,则采用

INSERT INTO 表SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式

如果是导入数据并新增表,则采用

SELECT * INTO 表FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式。

以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSO FT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:

INSERT INTO eval_channel_employee(channel,employee_id)

SELECT CASE a.渠道WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END

,b.id FROM

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_em ployee b

WHERE a.员工编码=b.code

不管是哪种方式,哪种途径,系统都会默认将第一行上的内容作为字段名。

这二种方式虽然非常好,但操作过程不太方便,经过测试发现在SQL2005中直接可以实现导入功能。操作过程如下:

第一步:登录到SQL Server Management Studio,

第二步:在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”

第三步:在“导入向导”对话框中单击“下一步”,进入到“选择数据源”对话框,在“数据源”列表中选择“Microsoft Excel ”,同时选择相应的Excel 文档,完成后单击“下一步”(一定要勾选该对话框中的“首行包含列名称”,因此它是将Excel文档中的列标题为数据库表中的列项标题)第四步:指定目标数据库服务,依次单击“下一步”。。。。至到“完成”

第五步:重新打到SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的Excel文档数据。

效率最高的Excel数据导入

本文目录:

(一)背景

(二)数据库数据导入到Excel的方法比较

(三)SSIS的简介

(四)数据库中存储过程示例(SSIS应用需要)

(五)Excel模板的制作(这步这么简单,稍微介绍一下)

(六)SSIS操作过程(生成Package,用来调用)(下一篇随笔将详细讲解制作Pac kage包的过程,图片太多,篇幅过长,因此本文将直接采用生成的Package包进行应用)(七)C#中如何调用SSIS创建的Package和Excel模板(可以自己编写逻辑代码进行重复利用),用来生成Excel数据

(八)总结

(一)背景

如何将数据库中的数据导入到EXCEL文件中,我们经常会碰到。本文将比较常用的几种方法,并且将详细讲解基于SSIS的用法。笔者认为,基于SSIS的方法,对于海量数据来说,应该是效率最好的一种方法。个人认为,这是一种值得推荐的方法,因此,本人决定将本人所知道的、以及自己总结的完整的写出来,一是提高一下自己的写作以及表达能力,二是让更多的读者能够在具体的应用中如何解决将海量数据导入到Excel中的效率问题。

(二)方法的比较

方案一:SSIS(SQL Server数据集成服务),追求效率,Package制作过程复杂一点(容易出错)。

方案二:采用COM.Excel组件。一般,对于操作能够基本满足,但对于数据量大时可能会慢点。下面的代码,本人稍微修改了下,如下所示:该方法主要是对单元格一个一个的循环写入,基本方法为 excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowInde x, ref colIndex, ref str, ref cellformat)。当数据量大时,肯定效率还是有影响的。

方案三:采用Excel组件。一般,对于操作能够基本满足,但对于数据量大时可能会慢点。下面的代码,本人在原有基础上稍微修改了下,如下所示:

1public string OutputExceles(string strTitle, string FilePath, string typeName, System.Data.Data Table[] dtList, string[] smallTitleList)

2 {

3 beforeTime = DateTime.Now;

4 Excel.Application excel;

5 Excel._Workbook xBk;

6 Excel._Worksheet xSt;

7int rowIndex = 1;

8int colIndex = 1;

9 excel = new Excel.ApplicationClass();

10 xBk = excel.Workbooks.Add(true);

11 xSt = (Excel._Worksheet)xBk.ActiveSheet;

12int add=0;

13foreach (System.Data.DataTable dt in dtList)

14 {

15 colIndex = 1;

16//取得整个报表的标题

17 excel.Cells[rowIndex , 1] = smallTitle[add];

18 add++;

19////设置整个报表的标题格式

20 xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]). Font.Bold = true;

21 xSt.get_Range(excel.Cells[rowIndex, 1], excel.Cells[rowIndex , dt.Columns.Count]). Font.Size = 22;

22////设置整个报表的标题为跨列居中

23 xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex , dt.Columns.Count]). Select();

24 xSt.get_Range(excel.Cells[rowIndex , 1], excel.Cells[rowIndex, dt.Columns.Count]). HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;

25 rowIndex++;

26foreach (DataColumn col in dt.Columns)

27 {

28 excel.Cells[rowIndex, colIndex] = col.ColumnName;

29//设置标题格式为居中对齐

30 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]). Font.Bold = true;

31 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]). HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

32 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]). Select();

33 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colIndex]). Interior.ColorIndex = titleColorindex;

34 colIndex++;

35 }

36//取得表格中的数据

37foreach (DataRow row in dt.Rows)

38 {

39 rowIndex++;

40 colIndex = 1;

41foreach (DataColumn col in dt.Columns)

42 {

43if (col.DataType == System.Type.GetType("System.DateTime"))

44 {

45if (!string.IsNullOrEmpty(row[col.ColumnName].ToString()))

46 {

47 excel.Cells[rowIndex, colIndex] = (Convert.ToDateTime(row[col.Column Name].ToString())).ToString("yyyy-MM-dd");

48 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colI ndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; }

49 }

50else if (col.DataType == System.Type.GetType("System.String"))

51 {

52 excel.Cells[rowIndex, colIndex] = "'" + row[col.ColumnName].ToString();

53 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colInd ex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;r; }

54else

55 {

56 excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();

57 xSt.get_Range(excel.Cells[rowIndex, colIndex], excel.Cells[rowIndex, colInd ex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter; }

58 colIndex++;

59 }

60 }

61 rowIndex ++;

62 }

63 afterTime = DateTime.Now;

64 https://www.doczj.com/doc/b411630441.html, = strTitle;

65string filename = typeName + DateTime.Now.ToString("yyyyMMdd") + ".xls";

66// excel.Save(FilePath+filename);

67 excel.ActiveWorkbook.SaveCopyAs(FilePath + filename);

68#region结束Excel进程

69 xBk.Close(null, null, null);

70 excel.Workbooks.Close();

71 excel.Quit();

72#endregion

73return filename;

74 }

方法四:采用DataGrid,GridView自带的属性。如下:

(三)SSIS的简介

SQL Server 2005 提供的一个集成化的商业智能开发平台,主要包括:

*SQL Server Analysis Services(SQL Server数据分析服务,简称SSAS)

*SQL Server Reporting Services(SQL Server报表服务,简称SSRS)

*SQL Server Integration Services(SQL Server数据集成服务,简称SSIS)

SQL Server 2005 Integration Services (SSIS) 提供一系列支持业务应用程序

开发的内置任务、容器、转换和数据适配器。可以创建SSIS 解决方案来使用ETL 和商业智能解决复杂的业务问题,管理SQL Server 数据库以及在SQL Server 实例之间复制SQL Server 对象。

(四)数据库中存储过程示例(SSIS应用过程中需要的,最好拿个本子把需要的内容记下)

在SQL SERVER 2005中,以SSISDataBase数据库作为应用,仅包括2张表City,

Province.(主要是为了简单,便于讲解)

其中存储过程如下:

ALTER PROCEDURE [dbo].[ProvinceSelectedCityInfo]

(

@provinceId int=0

)

as

begin

select P.EName as省份拼音,https://www.doczj.com/doc/b411630441.html,ame as省份名,https://www.doczj.com/doc/b411630441.html,ame as城市名 from City C left join Pro vince P

on C.ProvinceId = P.ProvinceId

where C.ProvinceId =@provinceId and @provinceId is not null or @provinceId is null or @pro

vinceId=0

end

其中,在这一步中我们必须要记住相关的内容,如上标识(红色);为什么这么做?主要是在制作SSIS包的时候很容易混淆,建议拿个本子把需要的内容写好。

(五)Excel模板的制作(这步这么简单,稍微介绍一下)

因为SSIS中列映射对应的是Excel的标题,与数据是一对一的关系。先不管这么多,看下我们的模板,如下图所示。我们应该能够发现,省份拼音、省份名、城市名,还有Pr ovinceCityInfoExcel.xls,Sheet1都被笔者标识了,当然这一步与数据库中的存储过程取出的数据也是一对一的。(名称一致,可以减少很多不必要的麻烦,不然的话,嘿嘿....自己去想,那不是哥的事)

等下,需要将创建的EXCEL模板放置到我们的项目文件目录中。(详见第七步)

(六)SSIS操作过程(生成Package,用来调用)

这一步是最主要的过程,当然,也是很容易出错的一步。笔者会另外详细介绍制作Pac kage包的过程,本文将直接将生成的包放到VS项目中进行运用。

利用SQL Server 2005数据库自带的SQL Server Business Intelligence Devel opment Studio(SQL Server商业智能开发平台),最终生成的项目如下图所示:

然后,将在SSIS项目中生成的Package.dtsx包复制到自己的项目文件目录中。这就是我们马上进入的步骤了---->(步骤七)

(七)C#中调用SSIS创建的Package和Excel模板(可以自己编写逻辑代码进行重复利用),用来生成Excel数据

先看下我们的VS2008项目,如下图所示:

大家会发现,笔者将(五)(六)步骤生成的模板和Package包放置在项目中的“Exc el导出”目录下,当然这些文件随便你放在哪里,这是不用再废话的,哈哈。

另外,笔者简单的设计了如下很粗糙的界面,目的是根据省份来显示城市的相关信息(其实大家都是很熟悉这些的,很多项目都是有省-市-县数据库表的),添加一个导出按钮,点击的时候,我们可以参考页面显示的内容和我们生成的客户端Excel中的内容是否一致。

oracle数据库数据的导入导出

Oracle数据库导入导出命令(备份与恢复) Toad 一个很好的oralce数据库操作与管理工具,使用它可以很方便地导入导出数据表,用户以及整个数据库。今天在这里主要讲一下用命令行来操作oracle数据导入和导出: 备份数据 1、获取帮助: exp help=y 2. 导出一个完整数据库 exp user/pwd@instance file=path full=y 示例:exp system/system@xc file = c:/hehe full =y imp tax/test@tax file=d:/dbbak.dmp full=y 3 、导出一个或一组指定用户所属的全部表、索引和其他对象 exp system/manager file=seapark log=seapark owner=seapark exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold) 示例:exp system/system@xc file=c:/hehe owner=uep 4、导出一个或多个指定表 exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist) 示例:exp system/system@xc file=c:/heh tables=(ueppm.ne_table) 恢复数据 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的全部表、索引和其他对象 imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold) 4. 将一个用户所属的数据导入另一个用户 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1) 5. 导入一个表 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b) ************************ **************************** 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle 数据库中去。 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种类型的输出: (1)表方式(T方式),将指定表的数据导出。 (2)用户方式(U方式),将指定用户的所有对象及数据导出。 (3)全库方式(Full方式),将数据库中的所有对象导出。 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。

word表格批量插入图片

竭诚为您提供优质文档/双击可除word表格批量插入图片 篇一:word20xx中批量快速插入图片技巧 word20xx中批量快速插入图片技巧 我们知道,对于某些特定的字符,可以通过“自动更正”的方法实现快速替换,其实图片也是可以自动更正的,这在需要经常调用某些图片时相当实用,这样就不需要每次逐个手工插入了。这里以word20xx为例进行说明,让你在输入“1”、“2”这些数字时,能够自动替换为相关的图片(例如频繁出现的公司logo图片等)。 首先将相关的图片插入到word文档的窗口中,然后按下“ctrl+c”组合键将它们复制到剪贴板中备用。这一步至关重要,否则下面的操作将无法正常完成。 接着单击office按钮打开“word选项”对话框,然后切换到“校对”选项卡,在这里你会发现一个“自动更正选项”的按钮,单击后即可打开如图所示的对话框,在“替换”后面的文本框中输入图片名称“1”。此时我们会发现原来右下角的“添加”按钮已经可以正常使用,接下来直接单击“添加”按钮,添加图片就可以了。

需要提醒的是,如果前面的步骤没有进行的话,那么即使在“替换”下面的文本框中输入了相关的字符,也会看到“添加”按钮仍然呈现不可用的灰色状态。 按照类似的步骤,你可以继续添加常用的图片到其他自动更正的项目,以后插入相关图片时就方便多了(虽然“替换为”文本框中没有任何反应,而且确认后“替换为”一列也只是显示为“*”号,但这只是显示的问题)。 以后,当我们在word文档中输入1、2这样的数字时,按下回车键后,相关的图片就会自动出现在word文档中,大大提高了工作效率。 20xx-07-27来源:it168 篇二:word与excel连接邮件合并批量插入照片 word与excel数据连接邮件合并批量照片自动插入方法 一、建立“照片名”的excel数据文件 1.建立文件夹:在d盘根目录下建立名为:yjhebing的文件夹,在这个文件夹里面在建立一个名为:zhaopianku的文件夹,所有照片放在zhaopianku的文件夹(word表格批量插入图片)里面 图-1:zhaopianku文件夹 2.开始——运行——输入cmd,按回车键,打开dos命令框。输入d:按回车建 再输入:cdyjhebing按回车键,再输入:cdzhaopianku

(完整版)雨课堂试卷批量导入Word模板

雨课堂试卷批量导入模板 试卷标题:计算机基础知识 一、单选题 1.第一台电子计算机ENIAC诞生于()年。正确答案:C A. 1927 B. 1936 C. 1946 D. 1951 [解析] 第一台电子计算机ENIAC诞生于1946年。 2.与传播计算机“病毒”无关的是()。 A. 键盘 B. 网络 C. 硬盘 D. U盘 正确答案:A [解析]网络可以传播计算机病毒,硬盘和U盘都可以感染计算机病毒。 3.计算机的软件系统分为()。正确答案:C A. 程序和数据 B. 工具软件和测试软件 C. 系统软件和应用软件 D. 系统软件和测试软件 4.计算机系统是由()组成的。正确答案:D A. 主机及外部设备 B. 主机键盘显示器和打印机 C. 系统软件和应用软件 D. 硬件系统和软件系统 5.能描述计算机的运算速度的是()。正确答案:B A. 二进制位 B. MIPS C. MHz D. MB 二、多选题(每题2分) 1.微处理器又称为中央处理器,它是由(AB )组成的。 A.运算器B.控制器C.存储器D.寄存器 [解析] 中央处理器由运算器和控制器组成,运算器中包含寄存器。 2.属于应用软件的是()。正确答案:BCD A. Windows B. Word C. WPS D. PhotoShop 3.与传播计算机“病毒”有关的是()。 A. 网络 B. 键盘 C. 硬盘 D. 移动硬盘 正确答案:ACD 4.第一台电子计算机ENIAC诞生于()年。正确答案:C A. 1927 B. 1936 C. 1946 D. 1951 5.下列说法中不正确的是(ABCD)。 A.ROM 是只读存储器,其中的内容只能读一次,下次再读就读不出来了 B.硬盘通常安装在主机箱内,所以硬盘属于内存 C.CPU 不能直接与外部存储器打交道 D.任何存储器都有记忆能力,即其中的信息不会丢失 三、填空题 1.计算机由(运算器)、(控制器)、(存储器)、输入设备和输出设备组成。 2.CPU的中文意义是(中央处理单元| 中央处理器)。 备注:此题双答案,导入后需在雨课堂试卷中修改答案1为:“中央处理单元”,增加答案2:“中央处理器”。 3.1GB=(1024)MB,1MB=(1024)KB

给Word快速插入常用图片技巧

给Word快速插入常用图片技巧 系统下载打开Word2007,先插入一张公司标志图片,并调整好适当尺寸。再选中插入的图片,单击Office 按钮,选择“Word选项”。在“Word选项”窗口中选择“校对”,单击“自动更正选项”按钮。在“自动更正”窗口的“替换”输入框中输入“公标1”,单击“添加”按钮后(如图1),确定返回。以后不管在哪个文档中你只要输入“公标1”后再继续输入,“公标1”就会自动变成公司标志的图片。 图1 在此,“替换为”一项后面不用输入,Word默认会把选中内容当成替换为内容,只是当选中的是图片时“替换为”中会显示成空白,但其实已经有图片在里面了。此外,自动更正可以设置的对象不仅限于图片,还包括文字的格式和表格。你甚至可以同时选中包括图片、表格、文字等多种对象的内容进行设置。此招最大的缺点就是只能对“文字环绕”格式为“嵌入型”的图片有效,也只能插入“嵌入型”的图片。 文档部件,用鼠标插入图片 在Word2007中也可把常用图片保存成文档部件,即可通过鼠标单击选择快速插入常用图片。其优点是比较直观,操作上更顺手,而且对图片没有任何格式限制。 在Word文档选中一张图片(例:公司标志图),切换到“插入”选项卡,单击“文档部件”,选择“将所选内容保存到文档部件库”。在“新建构件基块”窗口中输入“名称”,比如“公标1”(如图2),确定后完成设置。以后编辑时,只要单击“插入”选项卡的“文档部件”即可在下拉列表中找到添加的公司标志图,单击选择即可插入。

图2 设置后关闭Word会提示是否保存到Building Blocks.dotx文档,此时一定要选择“是”。这招对图片、表格、文字等对象也同样有效。其缺点是不适合用键盘输入,而且当添加太多文档部件后比较难找到需要图片,反而不容易输入了。 录制宏,用快捷键插入图片 通过录制宏可以用快捷键插入常用图片,也可以把图片直接添加到快速工具栏上通过鼠标单击插入,兼具前两招的效果。由于可在工具栏上显示插入图片按钮,用鼠标插入图片时要比文档部件更方便,对图片格式也没有任何限制。适于插入少数特别常用的图片,比如公章、签名等等。另一优点是对原图进行修改后,下次插入的就是修改后的新图,无需重复设置,因此也适于插入经常修改的图片。 打开Word2007,切换到“视图”选项卡,单击“宏”选择“录制宏”。在“录制宏”对话框输入宏名为“公标1”,单击下面的“键盘”按钮。在弹出“自定义键盘”窗口中按下你要设置的快捷键“Alt+Ctrl+B”(如图3),单击“指定”按钮添加到“当前快捷键”列表中,“关闭”窗口返回Word。此时Word的状态栏会显示停止录制宏的图标“■”,鼠标指针也多了个录音带图标。

推荐下载-Oracle 数据泵导出和导入 精品

Oracle10g数据导入导出 简介 Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。 注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。 以下是DATA PUMP的几个优点介绍: 1.数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。 2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。 3.数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以退出连接,任务会在server 端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORY DATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server 端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。 注意:在开始操作之前要验证外部目录是否存在,并且下达create directory 命令的用户需要拥有create any directory的系统权限。 下面给出一个创建名为TEST_EXPDP的目录并授予hs_user,hs_his用户访问此目录读/写权限。

学生体质健康数据上报教程

学生体质健康数据上报教程 一:进入学生体质健康网:可以通过百度搜索或输入网址 二:进入登入页面:输入去年注册的用户名和密码(进去之后填写基本信息和重置密码)

三、学校基本信息设置:如有变化,请调整 四、年级班级管理:可用网站上的模板批量用模板导入,也可一个年级一个年级操作。班级名称可以用统一的写一(1)班、一(2)班这样的形式(后面类推),班级编号可用1101、1102编辑【后面根据年级和班级类推,五(2)班即为1502】

此表格为我校一(1)班学生基本信息表格中的数据,请大家关注班级编号和班级名称 注意:设置班级名称和班级编号后,后期所填的表格这两样数据必须要跟之前的一样,即年级班级管理、学生基本信息、学生体质成绩三份数据中的班级名称和班级编号要完全一样,否则数据导不进去。至于学生学号,可酌情自行设定,我是以入学年份(2013)+加班级编号(01)+号码(01)即20130101这样的方式进行编排。 五、班级管理:单一导入操作:点击新增班级后,输入班级名称和班级编号---和表格中的必须一致(不要出现下列情况,班级名称和班级编号跟年级对不上,否则会出现导不进去的现象)

六、测试项目设置:必测项目不需要设置,只需设置选测项目 七、测试环境信息导入:建议采用模板导入,可复制,操作起来较快,注意日期用统一格式,2013-10-10 完成“学校基本信息”这一大栏,设置之后,接下来进行“学生体测数据管理”一栏的操作 八、导入学生基本信息--下载模板,按照要求提示将一个班级的信息复制到表中完成一个班级后,记得进行重命名,如“一(1)班学生基本信息”,最后可将所有学生的基本信息放入一个文件夹进行存放。注:小学可不用输身份证和来源。

oracle按用户导入导出数据

Oracle数据库exp imp按用户导出导入实例 按用户导出再导入实例,任务要求如下: ◆1.从一台windows服务器 A 上导出 Test1 这个用户的所有对象,然后导入到linux服务器 B 上的 Test2用户。(已知Test1密码为Test1passwd 或者用system用户导出也行) ◆2.B机器上Test2用户不存在,或Test2用户已经存在两种情况(用户存在相对比较复杂) ---------如果Test2用户已经存在(数据没用,可以删除),级联删除用户及所有对象(有可能遇到有人正在连接,删除不掉的情况方法参照下文),重新创建账号并赋权。 ◆3.赋予适当的权限 操作步骤: ◆1.从 A 上导出数据文件到指定目录(目录名称自己定义,只要自己能找到就行,和用户名没有关系) sqlplus /nolog conn / as sysdba exp Test1/Test1passwd owner=Test1 file=D:\files\Test1.dmp ◆2.在A机器上查看用户默认表空间,以便导入时创建一样的表空间 SQL> select username,default_tablespace from dba_users where username ='TEST1'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ TEST1 CMIS ◆3.查看用户使用的表空间 SQL> select DISTINCT owner ,tablespace_name from dba_extents where owner like 'TEST1'; OWNER TABLESPACE_NAME ------------------------------ ------------------------------ TEST1 XSL TEST1 CMIS ◆4.查看表空间对应的数据文件,以便在B上创建大小合适的数据文件。 SQL> select file_name,tablespace_name from dba_data_files where tablespace_name in ('CMIS','XSL'); FILE_NAME BYTES TABLESPACE ------------------------------------------------------------ ---------- ---------- D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS 8728346624 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS01.ORA 8204058624 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS02.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS03.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS04.ORA 4194304000 CMIS D:ORACLEPRODUCT10.2.0ORADATACMISDBCMIS05.ORA 4194304000 CMIS

利用excelVBA批量修改文件名以及自动插图到word

前段时间,因编写报告,需要把成果图片修改名字后,将图以及相应的名字插入word文档中。一次报告,至少200张图,花了数个小时才弄完工作,同时难免出现差错。之后就一直寻找捷径,基于excel vba以前有一点基础,现将整理出来的代码分享给大家。可以去下载我编好的excel 小程序,里面有详细代码,地址在最下方。欢迎直接试用下,给个反馈建议. 1.查找文件夹中符合图片格式的文件,返回其名字 Dim fs, f, f1, fc, s Dim arr As String Set fs = CreateObject("") Address = Address = Left(Address, InStrRev(Address, "\", Len(Address))) '获得当前工作表所在文件夹路径 Set f = (Address) Set fc = i = 2 For Each f1 In fc '遍历文件 If FileIspicture Then ' 引用了自定义函数 FileIspicture 判断是否为需要查找的文件格式

phname = '获取文件名 houzhui = Right(phname, Len(phname) - InStrRev(phname, ".", Len(phname)) + 1) (i, 1) = Left(phname, InStrRev(phname, ".", Len(phname)) - 1) (i, 2) = houzhui i = i + 1 End If Next 2.修改文件名称 Sub changename() Dim Address As String Address = Address = Left(Address, InStrRev(Address, "\", Len(Address))) n = , 1).End(xlUp).row For i = 2 To n '修改名称 pname = (i, 1) & (i, 2) textname = (i, 3) houzhui = Right(pname, Len(pname) - InStrRev(pname, ".", Len(pname)) + 1) '获取后缀 Name Address & pname As Address & textname & houzhui Next i

如何在EXCEL表格中批量插入对应图片更新

如何在E X C E L表格中批量插入对应图片更新公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

如何在EXCEL表格中批量插入对应图片学生照片用身份证号命名后,核对是个麻烦事儿,有了这个表格就直观多了。 制作过程如下: 1、粘贴学生信息、输入公式并向下填充 在D2单元格输入公式(复制下面的公式并粘贴到D2单元格中): ="

" 公式含意:在该单元格中插入来自d盘:\学生照片文件夹中\ C2单元格中数值(身份证号命名的).jpg图片 向下填充 2、在D盘根目录中新建一个名为:学生照片的文件夹,并把全校按身份证号码命名的学生图片复制其中。 这些图片最好批量转尺寸为120×150。太小看不清,太大查看起来不便。 3、打开剪贴板 4、选择公式区域(最好分几次进行,每次不超过200格),并复制到剪贴板(见下图窗口右边)。 (因在公式的状态下,很多操作是不能正常进行的,这一步的目的就是留数据除公式。)

5、点击剪贴板中刚复制的数据,把这些数据又粘贴回来(见下图鼠标箭头)。 6、把公式列中的@替换为"(半角单引号) 7、再选择公式区并将数据复制进剪贴板 8、选择“Unicode文本”粘贴 ①.复制(学生照片列数据)→粘贴(到记事本) ②.复制(刚才粘贴到记事本中的数据)→(回到Excel工作表学生照片列)右键→选择性粘贴 ③.选“Unicode文本”粘贴回Excel工作表→确定 (如果数据不到记事本中过一下,“选择性粘贴”窗口中就不会出现“Unicode文本”粘贴选项,这一步很重要) 9、调整行高 行高设为:100-120,视图片大小而定。 10、完成表格进行核对 学生名和照片对应表就做好了,如有张冠李戴,及时更改。 学籍照片处理方法 见:全国中小学学籍平台学生照片处理方法图文详解 (按住Ctrl 键用鼠标点击上面的红字打开对应网页) 照片命名成身份证号 见:照片批量命名成身份证号的方法图文详解 (按住Ctrl 键用鼠标点击上面的红字打开对应网页)

Oracle数据的导入导出(数据泵的使用)

Oracle数据泵的使用 使用数据泵导出数据 1、连接Oracle数据库 SQL> conn / as sysdba 已连接。 2、创建一个操作目录 SQL> create directory dump_dir as 'e:\dump'; 注意同时需要使用操作系统命令在硬盘上创建这个物理目录。 目录已创建。 3、使用以下命令创建一个导出文件目录 hr用户操作dump_dir目录的权限, SQL>grant read,write on directory my_dir to scott; 授权成功。 4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出) C:\>expdp scott/tiger directory=dump_dir dumpfile=20090517scotttab.dmp tables=dept,emp s= Export: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:49:00 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp table dept,emp 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA 使用BLOCKS 方法的总估计: 128 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT . . 导出了"SCOTT"."DEPT" 5.656 KB 4 行

Word宏:Word中的图片批量统一大小及同比例缩放(图)

?Word宏:Word中的图片批量统一大 小及同比例缩放(图) 有些时候,我们用Word来做一些图文混排的文档,需要正规的样式,例如图片大小一致。下面的方法就是告诉我们如何来实现很多的图片统一大小。 实现代码: Sub setpicsize() '设置图片大小 Dim n '图片个数 On Error Resume Next'忽略错误 For n = 1To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片 ActiveDocument.InlineShapes(n).Height = 400'设置图片高度 为400px ActiveDocument.InlineShapes(n).Width = 300'设置图片宽 度300px Next n For n = 1To ActiveDocument.Shapes.Count 'Shapes类型图片ActiveDocument.Shapes(n).Height = 400'设置图片高度为400px ActiveDocument.Shapes(n).Width = 300'设置图片宽度300px Next n End Sub 使用方法,把代码复制到Visual Biscal编辑器中,再回到Word界面,运行“宏”命令。 操作步骤如下: 1.打开要统一图片大小的Word文档,点击“工具”-“宏”-“Visual Biscal 编辑器。

2)插入normal工程“模块”。

3)在“模块”中粘贴上面的代码。

4)保存,返回你要统一图片大小的Word文档。运行“工具”-“宏”-"宏命令"。 看一下结果,是不是你想要的统一图片大小。

oracle数据库导入导出命令

Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了) 这样你可以把数据导出到本地,虽然可能服务器离你很远。 你同样可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp 中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表table1 、table2导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。 不过在上面命令后面加上 compress=y 就可以了 数据的导入 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 imp system/manager@TEST file=d:\daochu.dmp 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

Word 2007中批量快速插入图片技巧

Word 2007中批量快速插入图片技巧 我们知道,对于某些特定的字符,可以通过“自动更正”的方法实现快速替换,其实图片也是可以自动更正的,这在需要经常调用某些图片时相当实用,这样就不需要每次逐个手工插入了。这里以Word 2007为例进行说明,让你在输入“1”、“2”这些数字时,能够自动替换为相关的图片(例如频繁出现的公司LOGO图片等)。 首先将相关的图片插入到Word文档的窗口中,然后按下“Ctrl+C”组合键将它们复制到剪贴板中备用。这一步至关重要,否则下面的操作将无法正常完成。 接着单击Office按钮打开“Word选项”对话框,然后切换到“校对”选项卡,在这里你会发现一个“自动更正选项”的按钮,单击后即可打开如图所示的对话框,在“替换”后面的文本框中输入图片名称“1”。此时我们会发现原来右下角的“添加”按钮已经可以正常使用,接下来直接单击“添加”按钮,添加图片就可以了。 需要提醒的是,如果前面的步骤没有进行的话,那么即使在“替换”下面的文本框中输入了相关的字符,也会看到“添加”按钮仍然呈现不可用的灰色状态。

按照类似的步骤,你可以继续添加常用的图片到其他自动更正的项目,以后插入相关图片时就方 便多了(虽然“替换为”文本框中没有任何反应,而且确认后“替换为”一列也只是显示为“*”号,但这只是显示的问题)。 以后,当我们在Word文档中输入1、2……这样的数字时,按下回车键后,相关的图片就会自动出现在Word文档中,大大提高了工作效率。 word批量修改图片大小 1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行! 2、宏名起好了,单击“创建”进入Visual Basic 编辑器,输入如下代码并保存 Sub setpicsize() '设置图片大小 Dim n'图片个数 On Error Resume Next '忽略错误 For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px Next n For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片 ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px Next n End Sub 3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间) word批量修改图片大小——按比例缩放篇 这部分要说的是把word中的所有图片按比例缩放! 具体操作同上,只是代码部分稍做修改,代码如下: Sub setpicsize() '设置图片大小

人员批量导入信息表填表说明

人员批量导入信息表填表说明 本填报说明为填写事业单位人事管理信息系统“人员主子集信息批量导入模板”服务。 本次人员信息录入相当于为事业单位人员建立电子档案,应保持与事业单位人员个人档案的一致性。人员信息按照行政关系归属由所在单位组织人社部门填写。档案姓名、年龄与身份证姓名、年龄不一致的,以身份证姓名、年龄为准。 一、所有表项中的【所属机构】应填写工作单位的名称即软 件系统中录入的单位名称,不要填写工作单位所在内设 处(科)室名称。 并且同一个事业单位人员信息应当汇总填写在同一个 excel表格当中。不可每人一表。 二、人员信息录入包括在编在岗人员、退休人员和编外聘用 人员、借调人员信息。其中,退休人员、编外聘用人员、事业单位参公事业编制人员、借调人员只填写“人员基 本信息集”。 三、本表所涉及的所有日期统一使用格式“年份-月份-日 期”例如“2014-02-12”。单数月份前加零。如有加零 后自动识别为日期不显示零的情况出现,格式合格。

四、表格中带“*”号为必填项,如填写了任一个子集中的 任何单元格,则必须填写所有与此单元格在同一行的所 有带“*”号标志的单元格。 五、除“人员基本信息集”外,其他表格均非必须填写所有 人员信息。如,“特殊专业技术人员称号信息集”只需 填写本单位特殊专业技术人员信息,没有此类人员的单 位可空置不填。 六、凡填表中涉及下拉的单元格,如下拉选择过多,不便选 择,可先查询《汇总报代码项》,找到应填内容后,在需 要下拉的单元格手动录入。例如,【学历信息集】【学校 (单位)所在政区】单元格下拉选项过多,该名人员学 校所在政区在安徽省淮南市田家庵区,可先在“汇总代 码项”中搜索关键字“淮南”,搜索结果有“安徽淮南 田家庵区”、“安徽淮南大通区”、“安徽淮南市辖区”三 个选项。最后把“安徽淮南田家庵区”一字不差的打字 到【学校(单位)所在政区】。注意,如果打字不正确,表格会报错。 注:《汇总报代码项》可在交流群的群文件中下载。七、“人员基本信息集”“特殊专业技术人员称号信息集” “学历信息集”“学位信息集”“奖励信息集”“处分信 息集”必填;其中无特殊专业技术人员称号,无学位,无奖励处分信息的人员不填;

oracle EXP导入导出表

C:\Documents and Settings\Administrator>exp Export: Release 10.1.0.2.0 - Production on 星期一10月11 21:22:09 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved. 用户名: scott 口令:tiger 连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options 输入数组提取缓冲区大小: 4096 > 导出文件: EXPDA T.DMP > e:\dump\dept.dmp (2)U(用户), 或(3)T(表): (2)U > t 导出表数据(yes/no): yes > yes 压缩区(yes/no): yes > yes 已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径... 要导出的表(T) 或分区(T: P): (按RETURN 退出) > dept . . 正在导出表DEPT导出了 4 行 要导出的表(T) 或分区(T: P): (按RETURN 退出) > emp . . 正在导出表EMP导出了14 行 要导出的表(T) 或分区(T: P): (按RETURN 退出) > 导出成功终止, 但出现警告。 C:\Documents and Settings\Administrator>

word表格中批量导入照片

利用Word邮件合并批量打印带照片的证书 根据我们以前所学,利用word的邮件合并功能可以批量打印出相关信息,但批量打印带照片的证书,邮件合并能完成这个要求呢?经过一番摸索、查寻,终于找到办法可以解决了,具体过程如下: 准备工作:准备一份考生信息数据库,可以是Word创建的数据源,也可以像Excel工作簿、Access数据库、Query文件、Foxpro文件,都可以作为邮件合并的数据源。只要有这些文件存在,邮件合并时就不需要再创建新的数据源,直接打开这些数据源使用即可。需要注意的是:在使用Excel工作簿时,必须保证数据文件是数据库格式,即第一行必须是字段名,数据行中间不能有空行等。这样可以使不同的数据共享,避免重复劳动,提高办公效率。我最常用的是Excel 簿,里面包含了编号、准考证号、考生姓名及其他相关信息的字段,要批量打印照片的话,还需要加一个照片的路径和文件名的字段(如果照片的文件名正好是考生的准考证号或姓名的话,可免),假设照片放在e:\photo文件夹里,每位考生的照片文件名和准考证号相对应(如果用姓名的话可能会碰到同名同姓的问题)。数据准备工作的正确与否,关系到以后打印出来的证件正确与否,所以必须要仔细校对正确。 接下来的工作就是要设计邮件合并的模板了,步骤如下: 1.启动word程序,从菜单栏中选择“工具――邮件合并――显示栏邮件合并工具栏”,这时你会发现在工具栏中多了一栏邮件合并工具栏 2.然后画好表格填好项目,进行排版、设置纸张,再把光标置于要插入相应项目的位置,点击“邮件合并”工具栏的“插入合并域”下拉菜单(下拉菜单中的相应选项与Excel数据表格中的标题行是一一对应的),然后单击下拉菜单中的相应选项,直至插入所有只包含文字的域。 3.下面是实现批量打印照片的关键一步,就是照片域的实现:

利用word邮件合并,批量插入照片

利用Word邮件合并,批量插入照片 一、建立Excel数据源文件 建立Excel文件,输入数据,数据包括下面将要建立的主文档所用到的数据。如图: 其中照片名称为身份证号+“.jpg”,方法是在N2单元格输入公式=C2& “.jpg”,然后向填充。将文件保存在D:\16学籍卡\hebing\文件夹中,文件名为:学生信息,此文件夹位置任意,文件名称任意。 二、准备照片 将照片放在保存数据源和主文档的文件夹中,此处为D:\\16学籍卡\hebing\,照片名用身份证号命名,你可以用其它命名方法,只要每个学生唯一且相互对应就行了。 三、建立主文档 建立Word主文档,主文档为将来想打印出来的格式,如下图 这是我举例的格式,你可按自己所需的格式制作,然后保存文件到数据源相同的位置,名字为:基本信息。 四、邮件合并 1、链接数据源。打开主文档,即要邮件合并的word文件,存放在:D:\16

学籍卡\hebing\,名为:基本信息.doc,打开邮件选项卡,单击选择收件人,点击使用现有列表,然后选择上面建立的Excel数据源文件学生基本信息。如下图 选择打开,就将Excel数据源文件和主文档进行了链接。 2、插入文字内容合并域。单击输入姓名的单元格,点击插入合并域,选择学生姓名,就插入了姓名的合并域,然后插入其他文字内容的合并域。 3、最后插入照片域。点击照片框,打开插入选项卡——文档部件——域——选择“includepicture”,在文件名或URL里面输入照片属性的存放地址: D:\\16学籍卡\\hebing\\,注意此处要用双斜杠。如图 点击确定后,照片框中出现如图所示域代码。

Oracle数据库迁移方法

Oracle 数据库迁移 1. 背景: 据项目实施人员反映,部署系统的过程中,有一个最大的问题,那就是平台数据库的迁移。经常会遇到表空间导出导入失败,或是导入过程中数据表丢失或是数据表虽然能导入,但表字段丢失等现象。针对这种情况,我仔细分析了一下:主要原因出在目前的exp/imp 这种数据导入导出工具存在比较大的缺陷,这种缺陷将在后面提到。相比目前这种方式,我这里提供一种比较方便稳定的数据库迁移方案。以下提到的方案,我也多次尝试验证了,并且还很实 在。 2. 数据库迁移方案: 实用环境:Oracle10g 或是以上版本。 原理:利用Oracle10g 提供的数据泵,快速加载以及卸载数据。优点:导入导出数据库快速比较快,且完整,性能稳定。缺点:这种方式只能在装有Oracle 服务器端的软件的机器上应用。完整方案: 这里模拟二个场景: 场景1:实现不同库下不同用户之间表空间的迁移。 假设通过Oracle 数据泵, A 用户UserA 将表空间TA 提取到 A.dmp,而后B用户UserB将A.dmp装载到表空间TB。 第一步:首先在源库(A) 上建一个目录,这个目录用于转储导入导出过程中的数据文件及日志文件。 create directory dumpdir as 'E:\dump'; 注:dumpdir为目录名,它是数据库中的目录对象名, “cdump':为对应的磁盘物理路径。 第二步:给用户授予目录的读写权限。(因为要写日志,这一步是必须的) grant read, write on directory dumpdir to UserA;

第三步:导岀用户UserA下的所有对象: expdp UserA/Password@orcl schemas=UserA dumpfile=expa.dmp DIRECTORY= dumpdir 注: 1、orcl为配置的用于从客户端连接Oracle的连接名。 2、dumpfile 中不能再包含路径 以上三步为数据导岀过程,下面几步为数据导入过程。 第四步:在目标库(B)上创建一表空间(TB)(如果不存),已存则直接到下一步。 CREATE TABLESPACE TB LOGGING DATAFILE 'F:\oracle\product\1020\oradata\orclDB\sde.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; 以上是我本机测试代码 第五步:在目标库上创建用户UserB CREATE USER UserB IDENTIFIED BY "sagis" DEFAULT TABLESPACE TB; GRANT DBA TO UserB; 第六步:在目标库(B)上,创建一个目录对象,如果A、B位于同一个Oracle服务器上,则可以不创建,可以用第一步创建的dumpdir 对象。如果A、B位于不同Oracle服务器,则 需另外创建。 create directory dumpdir as 'c:\dump'; 以不同服务器上Oracle迁移为例,则此时要将第三步创建的expa.dmp 数据文件拷到B服务 器的c:\dump 目录下。 第七步:给用户授予目录对象的读写权限,同第二步。 grant read, write on directory dumpdir to UserB; 第八步:导入数据到B库上用户UserB的表空间TB下 impdp UserB/sagis@sgs directory=dumpdir dumpfile=expa.dmp remap_schema=UserA:UserB remap_tablespace=TA:TB,TC:TD

相关主题
文本预览
相关文档 最新文档