搜档网
当前位置:搜档网 › 数据批量插入

数据批量插入

数据批量插入
数据批量插入

在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。

首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了。

///

/// 提供数据批量处理的方法。

///

public interface IBatcherProvider : IProviderService

{

///

/// 将 的数据批量插入到数据库中。

///

/// 要批量插入的

/// 每批次写入的数据量。

void Insert(DataTable dataTable, int batchSize = 10000);

}

一、SqlServer数据批量插入

SqlServer的批量插入很简单,使用SqlBulkCopy就可以,以下是该类的实现:

///

/// 为 System.Data.SqlClient 提供的用于批量操作的方法。

///

public sealed class MsSqlBatcher : IBatcherProvider

{

///

/// 获取或设置提供者服务的上下文。

///

public ServiceContext ServiceContext { get; set; }

///

/// 将 的数据批量插入到数据库中。

///

/// 要批量插入的

/// 每批次写入的数据量。

public void Insert(DataTable dataTable, int batchSize = 10000)

{

Checker.ArgumentNull(dataTable, "dataTable");

if (dataTable.Rows.Count == 0)

{

return;

}

using (var connection = (SqlConnection)ServiceContext.Database.Create Connection())

{

try

{

connection.TryOpen();

//给表名加上前后导符

var tableName = DbUtility.FormatByQuote(ServiceContext.Databas e.Provider.GetService(), dataTable.TableName);

using (var bulk = new SqlBulkCopy(connection, SqlBulkCopyOption s.KeepIdentity, null)

{

DestinationTableName = tableName,

BatchSize = batchSize

})

{

//循环所有列,为bulk添加映射

dataTable.EachColumn(c => bulk.ColumnMappings.Add(c.Colum nName, c.ColumnName), c => !c.AutoIncrement);

bulk.WriteToServer(dataTable);

bulk.Close();

}

}

catch (Exception exp)

{

throw new BatcherException(exp);

}

finally

{

connection.TryClose();

}

}

}

}

SqlBulkCopy的ColumnMappings中列的名称受大小写敏感限制,因此在构造DataTable的时候应请注意列名要与表一致。

以上没有使用事务,使用事务在性能上会有一定的影响,如果要使用事务,可以设置https://www.sodocs.net/doc/405045931.html,eInternalTransaction。

二、Oracle数据批量插入

System.Data.OracleClient不支持批量插入,因此只能使用Oracle.DataAccess组件来作为提供者。

///

/// Oracle.Data.Access 组件提供的用于批量操作的方法。

///

public sealed class OracleAccessBatcher : IBatcherProvider

{

///

/// 获取或设置提供者服务的上下文。

///

public ServiceContext ServiceContext { get; set; }

///

/// 将 的数据批量插入到数据库中。

///

/// 要批量插入的

/// 每批次写入的数据量。

public void Insert(DataTable dataTable, int batchSize = 10000)

{

Checker.ArgumentNull(dataTable, "dataTable");

if (dataTable.Rows.Count == 0)

{

return;

}

using (var connection = ServiceContext.Database.CreateConnection()) {

try

{

connection.TryOpen();

using (var command = ServiceContext.Database.Provider.DbProvid erFactory.CreateCommand())

{

if (command == null)

{

throw new BatcherException(new ArgumentException("comma nd"));

}

command.Connection = connection;

https://www.sodocs.net/doc/405045931.html,mandText = GenerateInserSql(ServiceContext.Da tabase, command, dataTable);

command.ExecuteNonQuery();

}

}

catch (Exception exp)

{

throw new BatcherException(exp);

}

finally

{

connection.TryClose();

}

}

}

///

/// 生成插入数据的sql语句。

///

///

///

///

///

private string GenerateInserSql(IDatabase database, DbCommand comman d, DataTable table)

{

var names = new StringBuilder();

var values = new StringBuilder();

//将一个DataTable的数据转换为数组的数组

var data = table.ToArray();

//设置ArrayBindCount属性

command.GetType().GetProperty("ArrayBindCount").SetValue(command, table.Rows.Count, null);

var syntax = database.Provider.GetService();

for (var i = 0; i < table.Columns.Count; i++)

{

var column = table.Columns[i];

var parameter = database.Provider.DbProviderFactory.CreateParamete r();

if (parameter == null)

{

continue;

}

parameter.ParameterName = column.ColumnName;

parameter.Direction = ParameterDirection.Input;

parameter.DbType = column.DataType.GetDbType();

parameter.Value = data[i];

if (names.Length > 0)

{

names.Append(",");

values.Append(",");

}

names.AppendFormat("{0}", DbUtility.FormatByQuote(syntax, column .ColumnName));

values.AppendFormat("{0}{1}", syntax.ParameterPrefix, column.Colu mnName);

command.Parameters.Add(parameter);

}

return string.Format("INSERT INTO {0}({1}) VALUES ({2})", DbUtility.F ormatByQuote(syntax, table.TableName), names, values);

}

}

以上最重要的一步,就是将DataTable转为数组的数组表示,即object[][],前数组的上标是列的个数,后数组是行的个数,因此循环Columns将后数组作为Parameter的值,也就是说,参数的值是一个数组。而insert语句与一般的插入语句没有什么不一样。

三、SQLite数据批量插入

SQLite的批量插入只需开启事务就可以了,这个具体的原理不得而知。

public sealed class SQLiteBatcher : IBatcherProvider

{

///

/// 获取或设置提供者服务的上下文。

///

public ServiceContext ServiceContext { get; set; }

///

/// 将 的数据批量插入到数据库中。

///

/// 要批量插入的

/// 每批次写入的数据量。

public void Insert(DataTable dataTable, int batchSize = 10000)

{

Checker.ArgumentNull(dataTable, "dataTable");

if (dataTable.Rows.Count == 0)

{

return;

}

using (var connection = ServiceContext.Database.CreateConnection()) {

DbTransaction transcation = null;

try

{

connection.TryOpen();

transcation = connection.BeginTransaction();

using (var command = ServiceContext.Database.Provider.DbProvid erFactory.CreateCommand())

{

if (command == null)

{

throw new BatcherException(new ArgumentException("comma nd"));

}

command.Connection = connection;

https://www.sodocs.net/doc/405045931.html,mandText = GenerateInserSql(ServiceContext.Da tabase, dataTable);

if (https://www.sodocs.net/doc/405045931.html,mandText == string.Empty)

{

return;

}

var flag = new AssertFlag();

dataTable.EachRow(row =>

{

var first = flag.AssertTrue();

ProcessCommandParameters(dataTable, command, row, fir st);

command.ExecuteNonQuery();

});

}

https://www.sodocs.net/doc/405045931.html,mit();

}

catch (Exception exp)

{

if (transcation != null)

{

transcation.Rollback();

}

throw new BatcherException(exp);

}

finally

{

connection.TryClose();

}

}

}

private void ProcessCommandParameters(DataTable dataTable, DbComman d command, DataRow row, bool first)

{

for (var c = 0; c < dataTable.Columns.Count; c++)

{

DbParameter parameter;

//首次创建参数,是为了使用缓存

if (first)

{

parameter = ServiceContext.Database.Provider.DbProviderFactory. CreateParameter();

parameter.ParameterName = dataTable.Columns[c].ColumnName; command.Parameters.Add(parameter);

}

else

{

parameter = command.Parameters[c];

}

parameter.Value = row[c];

}

}

///

/// 生成插入数据的sql语句。

///

///

///

///

private string GenerateInserSql(IDatabase database, DataTable table)

{

var syntax = database.Provider.GetService();

var names = new StringBuilder();

var values = new StringBuilder();

var flag = new AssertFlag();

table.EachColumn(column =>

{

if (!flag.AssertTrue())

{

names.Append(",");

values.Append(",");

}

names.Append(DbUtility.FormatByQuote(syntax, column.ColumnNa me));

values.AppendFormat("{0}{1}", syntax.ParameterPrefix, column.C olumnName);

});

return string.Format("INSERT INTO {0}({1}) VALUES ({2})", DbUtility.F ormatByQuote(syntax, table.TableName), names, values);

}

}

四、MySql数据批量插入

///

/// 为 MySql.Data 组件提供的用于批量操作的方法。

///

public sealed class MySqlBatcher : IBatcherProvider

{

///

/// 获取或设置提供者服务的上下文。

///

public ServiceContext ServiceContext { get; set; }

///

/// 将 的数据批量插入到数据库中。

///

/// 要批量插入的

/// 每批次写入的数据量。

public void Insert(DataTable dataTable, int batchSize = 10000)

{

Checker.ArgumentNull(dataTable, "dataTable");

if (dataTable.Rows.Count == 0)

{

return;

}

using (var connection = ServiceContext.Database.CreateConnection()) {

try

{

connection.TryOpen();

using (var command = ServiceContext.Database.Provider.DbProvid erFactory.CreateCommand())

{

if (command == null)

{

throw new BatcherException(new ArgumentException("comma nd"));

}

command.Connection = connection;

https://www.sodocs.net/doc/405045931.html,mandText = GenerateInserSql(ServiceContext.Da tabase, command, dataTable);

if (https://www.sodocs.net/doc/405045931.html,mandText == string.Empty)

{

return;

}

command.ExecuteNonQuery();

}

}

catch (Exception exp)

{

throw new BatcherException(exp);

}

finally

{

connection.TryClose();

}

}

}

///

/// 生成插入数据的sql语句。

///

///

///

///

///

private string GenerateInserSql(IDatabase database, DbCommand comman d, DataTable table)

{

var names = new StringBuilder();

var values = new StringBuilder();

var types = new List();

var count = table.Columns.Count;

var syntax = database.Provider.GetService();

table.EachColumn(c =>

{

if (names.Length > 0)

{

names.Append(",");

}

names.AppendFormat("{0}", DbUtility.FormatByQuote(syntax, c.Co lumnName));

types.Add(c.DataType.GetDbType());

});

var i = 0;

foreach (DataRow row in table.Rows)

{

if (i > 0)

{

values.Append(",");

}

values.Append("(");

for (var j = 0; j < count; j++)

{

if (j > 0)

{

values.Append(", ");

}

var isStrType = IsStringType(types[j]);

var parameter = CreateParameter(database.Provider, isStrType, ty pes[j], row[j], syntax.ParameterPrefix, i, j);

if (parameter != null)

{

values.Append(parameter.ParameterName);

command.Parameters.Add(parameter);

}

else if (isStrType)

{

values.AppendFormat("'{0}'", row[j]);

}

else

{

values.Append(row[j]);

}

}

values.Append(")");

i++;

}

return string.Format("INSERT INTO {0}({1}) VALUES {2}", DbUtility.For matByQuote(syntax, table.TableName), names, values);

}

///

/// 判断是否为字符串类别。

///

///

///

private bool IsStringType(DbType dbType)

{

return dbType == DbType.AnsiString || dbType == DbType.AnsiStringFix edLength || dbType == DbType.String || dbType == DbType.StringFixedLength; }

///

/// 创建参数。

///

///

///

///

///

///

///

///

///

private DbParameter CreateParameter(IProvider provider, bool isStrType, D bType dbType, object value, char parPrefix, int row, int col)

{

//如果生成全部的参数,则速度会很慢,因此,只有数据类型为字符串(包含'号)和日

期型时才添加参数

if ((isStrType && value.ToString().IndexOf('\'') != -1) || dbType == DbTy pe.DateTime)

{

var name = string.Format("{0}p_{1}_{2}", parPrefix, row, col);

var parameter = provider.DbProviderFactory.CreateParameter();

parameter.ParameterName = name;

parameter.Direction = ParameterDirection.Input;

parameter.DbType = dbType;

parameter.Value = value;

return parameter;

}

return null;

}

}

MySql的批量插入,是将值全部写在语句的values里,例如,insert batcher(id, name) values(1, '1', 2, '2', 3, '3', ........ 10, '10')。

五、测试

接下来写一个测试用例来看一下使用批量插入的效果。

[Test]

public void TestBatchInsert()

{

Console.WriteLine(TimeWatcher.Watch(() =>

InvokeTest(database =>

{

var table = new DataTable("Batcher");

table.Columns.Add("Id", typeof(int));

table.Columns.Add("Name1", typeof(string));

table.Columns.Add("Name2", typeof(string));

table.Columns.Add("Name3", typeof(string));

table.Columns.Add("Name4", typeof(string));

//构造100000条数据

for (var i = 0; i < 100000; i++)

{

table.Rows.Add(i, i.ToString(), i.ToString(), i.ToString(), i.ToS tring());

}

//获取 IBatcherProvider

var batcher = database.Provider.GetService( );

if (batcher == null)

{

Console.WriteLine("不支持批量插入。");

}

else

{

batcher.Insert(table);

}

//输出batcher表的数据量

var sql = new SqlCommand("SELECT COUNT(1) FROM Batcher"); Console.WriteLine("当前共有 {0} 条数据

", database.ExecuteScalar(sql));

})));

}

以下表中列出了四种数据库生成10万条数据各耗用的时间

中小学生学籍信息管理系统模板错误如何处理

中小学生学籍信息管理系统模板错误如何处理 一、系统提示“不符合模版”如何处理? 如果上传数据模版,系统提示“不符合模板”,说明该模板的格式被改动或者单元格的列、列数据不符合规范,出现此问题请注意以下几点: 1.正常模板中的每一个单元格格式均是“文本”,请用鼠标左键点击Excel最左上一格,然后点击右键,选择“设置单元格格式” 选择“文本” 点击“确定”即可。 2.正常模板中的AU列是隐藏的,目的是为了将学生信息与家庭成员信息隔开,请不要将AU列删除。 3.模板中的各列顺序不要随意改动。 4.如果模板中的数据是从其他地方复制粘贴过来的,请注意粘贴的时候不要带格式,具体操作以office2010为例,点击鼠标右键选择“选择性粘贴”下的“值”。 5.模板中的“上下学距离”不要填写任何单位,默认单位为千米(公里),全部填写数字,并且精确到小数点后一位,如1千米(公里)要写成1.0。 6.模板中“出生地行政区划代码”、“户口所在地行政区划”、“成员1户口所在地行政区划”、“成员2户口所在地行政区划”均填写6位行政区划代码后加6个0,共12位。如:长春市二道区的6位行政区划代码为220105,那么填写的时候应该填写220105000000。

7.模板中需要填写数字的列,例如:电话号码一类的信息不要填写“无”等文字,确保所填入的电话号码为纯数字,即使区号与电话号码之间也不要添加“-”等任何符号。 8.若以上操作仍然提示“不符合模板”,请重新在系统中下载模版,选取一条真实的学生学籍数据,手动逐列填写,然后导入系统,如果成功,那么将其它所有数据按照以上规范填写到模版。 二、学生信息录入以后显示“未查重”如何处理? 该学籍系统是1小时自动查重一次,因此数据导入或录入以后,要在1小时后,状态转为“已查重”,才可以审核、上报操作。 三、模板导入后处理结果为“待处理”该怎么办? 说明该模板正在进行数据排队,等待导入省级数据库,请耐心等候。正常情况下24小时内均可处理完毕,如果超过此时间,请逐级上报进行处理。 四、模板导入后处理结果为“失败”该怎么办? 如果显示为“失败”,说明模板中部分数据填写有误,点击上传失败的文件名,系统以列表的形式显示在模板文件中的哪一行,哪个数据项填写不规范或者填写错误,只需在模板中修改对应出错的数据,再重新导入一次即可。部分学校同一班级的信息未检查准确就多次上传,会增加系统无谓的审核量和各学校的等待处理时间,建议上传前仔细审核、检查模版数据,找到问题所在,排除问题后再上传。 五、模板导入时提示“数据重复”如何处理? 系统提示“数据重复”时,会显示具体是哪行数据重复,重复条件为5个字段:学校标识码、姓名、性别、出生日期、身份证号码。应在模版中删除重复的学籍数据,导入即可。 如果学籍数据确实未上传至系统,且上传时提示“数据重复”,若是小规模数据,请放弃使用模板,在系统中直接手工录入。若是大规模数据,请将情况逐级上报上级教育主管部门进行处理。 六、请问学校导入数据后能修改吗? 学校没有审核、查重的前提下学生信息在系统中可以进行修改;学校审核上报后,所辖教育局审核后,修改(维护)流程如下:

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的状态栏会显示停止录制宏的图标“■”,鼠标指针也多了个录音带图标。

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

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

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

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

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

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

如何在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 键用鼠标点击上面的红字打开对应网页)

利用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 键用鼠标点击上面的红字打开对应网页)

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文档。运行“工具”-“宏”-"宏命令"。 看一下结果,是不是你想要的统一图片大小。

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”。单数月份前加零。如有加零 后自动识别为日期不显示零的情况出现,格式合格。

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

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\\,注意此处要用双斜杠。如图 点击确定后,照片框中出现如图所示域代码。

批量导入照片(Word与Excel的联合)

还是接上一讲,这一次稍微有一些不同,是要用到word中的域。如果说函数是excel的精华,域则是word的杀手锏。好了,不废话了。。。 首先,建立excel文档和word文档,excel还是取名为:员工信息表,word取名“员工信息”。(还是强调一下,这个取名可以自己随心所欲。) 当然这个excel文档跟上讲中有所不同了,如图: 可以看到照片那一列中的链接跟我们平时看到的不一样,这个地方一定要注意,输入的时候必须是: E:\\批处理建立员工信息(excel与word联合)\\员工照片\\何润东.jpg。这样才可以,后面都是\\(双斜杠),这个是本文的关键所在。 输入好之后,保存文档。 然后我们进入word中设置文档,如图: 所要插入照片的地方跟以上方法不一样,一定要注意,这里就要运用到word的杀手锏----域。

输入方法: 按键盘组合键:Ctrl+F9 出现{},然后在大括号中间输入: includepicture" 然后再按组合键:Ctrl+F9 这时便又出现了一对大括号,也就是: {includepicture"{}"} 接下来在第二个大括号中输入: mergefield"pic" 最后你所输入的全部样式应该是: {includepicture"{mergefield"pic"}"} 这里我们用到了两个域名称,一个是includepicture,另一个是mergefield,不同的是pic,这里需要解释一下的是pic,pic是我们在excel文档中的pic列的名称,一定要保持一致,当然这里支持中文,大小写无所谓。 以上输入完毕,可以直接保存文档了。然后还是用我们之前教过的那个“合并到新文档”按钮,可以看到自动生成了我们打印后的效果,什么?!合并到新文档后看不见图片,没关系,很正常了,这个时候,还是用到组合按键:Ctrl+A,全选所有文档内容,然后按F9键,这时图片便变出来啦!(这个全选是在新生成后的文档中进行啊!)如果你还是看不到,不妨将新生成后的文档保存,关闭重新打开一次看看。 最终效果应该是:

word文档批量修改图片的方法

[手把手]word批量导入、修改图片大小和压缩图片 工作中,我们不时会需要将大量图片插入word,并对其设置统一的尺寸大小。下面请跟随我,学习批量导入、修改图片尺寸和压缩图片的方法,让你告别重复工作。 工具/原料

?Microsoft Word 2007 一、批量导入图片 1. 1 将所有需要导入的图片放入同一文件夹,修改文件名,使其排列顺序符合我们要求。 2. 2 打开word,依次点击:插入→图片

3. 3 在弹出的窗口,“查找范围”框里找到需要插入图片所在文件夹, 方法一:选中第1张图片,按住键盘Shift键,再选中最后一张图片。 方法二:选中任意一张照片,同时按键盘“Ctrl”键和字母“A”键,全选点击“插入” 4. 4 效果如图

END 批量修改图片尺寸 1. 1 接上面的例子。 方法一:在word软件界面中依次点击:开发工具→宏 方法二:同时按键盘“Alt”键和“F8”键(后面简称Alt+F8)弹出宏创建窗口

2. 2 在宏名栏里任意输入一个宏的名字,本例中我们使用“setpicsize”点击创建

3. 3 弹出“Microsoft Visual Basic”窗口,复制下面的代码到代码窗口里替换掉原有内容: Sub setpicsize() '设置图片大小 Dim n '图片个数 On Error Resume Next '忽略错误 For n = 1 To 'InlineShapes 类型图片 (n).Height = 5 * '设置图片高度为5cm (1cm等于) (n).Width = 4 * '设置图片宽度4cm Next n End Sub '其中图片本例中图片尺寸为5cm和4cm 4. 4 点击“Microsoft Visual Basic”窗口工具栏里的“运行”按钮(类似播放器里的播放按钮)或者按键盘“F5”键 等待一会儿……(等待时间取决于你插入图片的多少和你电脑的运算速度)……

word2010邮件合并批量插入照片

Word与Excel 数据连接邮件合并批量照片自动插入 一、建立“照片”的Excel数据文件 1.建立文件夹:在D盘根目录下建立名为:testbox的文件夹,在这个文件夹里面在建立一个名为:pic的文件夹,所有照片放在pic的文件夹里面 2.开始——运行——输入cmd, 按回车键,打开dos 命令框。输入d:按回车建 再输入:cd testbox 按回车键,再输入: cd pic 按回车键 最后显示:d:\testbox\pic> 出现,然后输入: dir>zplist ,在pic文件夹里面自动出来一个名为: zplist的数据文件 (如果照片文件命名有规律,可以直接在excel中输入照片文件名,建立照片名列表。第2步可以不做。) 图-1:pic文件夹 3.启动Excel --数据—自其他来源—来自XML数据导入——对话框中选择d:\testbox\pic 文件夹里面的zplist 打开。(文件类型:选择所有文件),数据导入到Excel里面后多余的部分删除掉整理后得到下面的结果: 图-4整理以前zplist 图-5 整理后zplist 4.把这个Excel 数据保存到d:\testbox 里面,名为:piclits001.xlsx 二、Word 与Eexcel数据文件连接 1.打开要邮件合并的word文件,存放在:D:\testbox\里面,名为:通讯录.docx

执行:工具—信函与邮件—邮件合并—下一步(正在启动文档)—下一步(选取收件人)—下一步(撰写信函)—选择数据源D:\testbox\里面的piclist001.xlsx的Excel文件。然后单击确定。 三、插入照片域代码 1.点击照片框里面——插入——文档部件——域——选择“includepicture”,在文件名或URL 里面输入照片属性的存放地址: D:\testbox\pic\ 图-6插入照片域,照片地址 点击确定按钮。 2.鼠标点击pic字后面的\\ 与" 中间,点击“撰写信函”——点击上面的“其他项目”——对话框中选择“照片”字段——点击“插入”(只按一次)——然后关闭对话框。 图-7 插入域的照片框 3.单击“下一步(预览信函)”,按alt+f9 ,再按f9,就出现第一个人的小照

导入模版填写要求

导入模版填写要求 1.姓名和身份证号码为必填项,且身份证号使用18位的二代身份证号,身份证中有字母X,必须小写。 2.若导入学生身份证号与系统中已有身份证号重复,导入信息将覆盖系统中已有信息。 3.导入的数据中不能存在相同的身份证号码,否则会出现导入出错的情况。 4.详细地址信息无需填写所在省、市、县,直接填写乡镇、街道、门牌号等具体信息即可。 5.高校、院系及专业名称必须是全称。 6.行政区划代码(即户籍地代码、家庭住址代码)、高校名称的填写内容详见《数据标准》。 7.本科或专科贷款年限和申请学年之和不能超过毕业时期之后的10年。 8.所有填写内容不要含空格和特殊字符,数字、字母和符号使用半角输入。 9.若导入信息中数据项填写不符合要求,则该数据项不导入。 10.模板格式不能改变,示例无需删除,直接从序号[1]填写即可。11.毕业 学校无需填写所在省、市,直接填写学校名称。 12.学历必须填写为专科,学制3年 13.入学年份只需填写年,如2013。 14.预申请模板上的联系人信息,农村学生:填写学生户籍所在地村长或村支书的相关信息;城市学生填写居委会工作人员(或其他能够联系到该学生的人员)。但是联系人和共同借款人不能为同一人。 15.工作单位在农村的填写为在家务农。 16.家长与学生关系应填写为父亲或母亲即可。 17.申请原因只能选择应有选项中的一项,不能随意改写。 18.贷款金额统一为6000元整。 19. 高校预申请学生范围:有意向申请生源地信用助学贷款的学生,且入学前户籍为陕西省的贫困学生。外省户籍学生按其户籍所在地学生资助管理中心要求,不适用我省的申请审批表

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

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

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

word批量插入图片及其文件名进行打印

word宏批量插入图片及其文件名 方法:word2003>工具>宏>▲宏> 输入宏名:InsertPics 创建>将以下代码粘贴到文本框,然后关闭 工具>宏>InsertPics>运行>到文件夹选择图片即可 Function Basename(FullPath) '取得文件名 Dim x, y Dim tmpstring tmpstring = FullPath x = Len(FullPath) For y = x To 1 Step -1 If Mid(FullPath, y, 1) = "\" Or _ Mid(FullPath, y, 1) = ":" Or _ Mid(FullPath, y, 1) = "/" Then tmpstring = Mid(FullPath, y + 1) Exit For End If Next Basename = Left(tmpstring, Len(tmpstring) - 4) End Function Sub InsertPics() With ActiveDocument.Styles(wdStyleNormal).Font If .NameFarEast = .NameAscii Then .NameAscii = "" End If .NameFarEast = "" End With With ActiveDocument.PageSetup .LineNumbering.Active = False .Orientation = wdOrientPortrait .TopMargin = CentimetersToPoints(1.54) '上页边距 .BottomMargin = CentimetersToPoints(1.54) '下页边距 .LeftMargin = CentimetersToPoints(1) '左页边距 .RightMargin = CentimetersToPoints(1) '右页边距 .Gutter = CentimetersToPoints(0) .HeaderDistance = CentimetersToPoints(1.5) '页眉 .FooterDistance = CentimetersToPoints(1.75) '页脚 .PageWidth = CentimetersToPoints(21) .PageHeight = CentimetersToPoints(29.7) '纸张大小 .FirstPageTray = wdPrinterDefaultBin

试题库批量导入文档模板

试题库批量导入文档模板 注意事项(请仔细阅读): 1、同一门课程,按不同学期划分为多个课程。 2、添加试题时,您都不应该录入题目序号(英语试题除外)。 3、整个文档中只能有一个表格,表格必须连续,中间不能断开。 4、试题及答案中不能含有任何表格,若题中含有表格请用截图替代。 5、表格的结构不要改动,8列顺序及第一行表头不要修改。表格的宽度和高度 可根据需要自行调整。 6、题型仅限系统支持的题型,若需要增加新题型,请与管理员联系。(导入系统 时,若无此题型的话,系统会有提示) 7、要求除填空题以外,同题型的题目分值相同;填空题每题的“分值”记作该 题的总分值,每空分值要求一样。 8、考题的知识点大纲应参照考试大纲写好编号(只能填写编号部分);若涉及多 个知识点,中间用分号(“;”或“;”)隔开。 9、难度和区分度可以是1~5中的某个值,其中5表示难度最大或区分度最优,1 表示难度最小或区分度最差。如果很难确定的话,建议选择中间值3。10、上传后,题目中的所有格式将被清除。如有上下标请更换成公式;填空题 的下划线请不要使用格式下划线,需使用shift和减号的组合键,或者使用括号。 11、如果有图片,请不要使用图文混排,否则,生成的试卷中图片的位置会有 问题。具体操作:鼠标右击图片,依次选择“设置图片格式”→“版式”→“嵌入式”。 请各位老师务必检查试题无误后再执行批量导入操作。 重均分子量的物理意义是各种不同相对分子质量的分子所占的质量分数与其相对应得相对分子质量乘积的总和。 与线性缩聚反应相比较,体形缩聚反应有哪些特点? 答:(1)从参加反应的单体看:体形缩聚反应中至少有一种单体是三个或三个以上官能度的,而线性缩聚反应的单体是两官能度的。 (2)从体形缩聚反应过程来看:体形缩聚随着反应程度增加,反应分为甲、乙、丙三个阶段。甲、乙两个阶段均在凝胶点之前。在体形缩聚反应中,凝胶点的预测十分重要,因

相关主题