matlab与excel数据导入导出

matlab与excel数据导入导出
matlab与excel数据导入导出

第 7 章 MATLAB 与 Excel 文件的数据交换

郑志勇 (https://www.360docs.net/doc/5d2321948.html,),谢中华

Excel 是一款非常优秀的通用表格软件,在学习、工作与科研中大量的数据可能都是以 Excel 表格的 方式存储的。如何利用 matlab 强大的数值计算功能处理 Excel 中的数据,首要解决的问题就是如何将

Excel 中的数据导入到 matlab 中或将 matlab 数值计算的结果转存入 Excel 中?为此,本章主要介绍以界面 操作方式(数据导入向导)、函数方式和 exlink 宏方式实现 matlab 与 Excel 的数据交互。

7.1 利用数据导入向导导入 Excel 文件

可以利用数据导入向导把 Excel 文件中的数据导入到 MATLAB 工作空间,步骤与 6.2.1 节相同。

【例 7.1-1】把 Excel 文件 examp71_1.xls 中的数据导入到 MATLAB 工作空间。examp71_1.xls 中的数 据格式如图 7.1-1 所示。

图 7.1-1 Excel 数据表格

可以看出文件 examp71_1.xls 中包含了某两个班的某门课的考试成绩,有序号、班级名称、学号、姓 名、平时成绩、期末成绩、总成绩和备注等数据,有数字也有文字说明。用数据导入向导会在 MATLAB

工作空间生成两个变量:data 和 textdata ,data 为数值矩阵,textdata 为字符串元胞数组,它们的数据格式 如下(部分数据):

>> data

data =

% 查看导入的变量 data

1

2 3 4 5

60101 60101 60101 60101 60101

6010101 6010102 6010103 6010104 6010105

NaN NaN NaN NaN NaN

0 0 0 0 0

63 73 0 82 80

63 73 0 82 80

>> textdata

textdata =

% 查看导入的变量 textdata

·2·书名

'序号'

''

'' '班名'

''

''

'学号'

''

''

'姓名' '平时成绩'

'陈亮' ''

'李旭' ''

'期末成绩'

''

''

'总成绩'

''

''

'备注'

''

''

'' '' '' ''

''

''

''

''

''

'刘鹏飞'

'任时迁'

'苏宏宇'

''

''

''

''

''

''

''

''

''

'缺考'

''

''

7.2 调用函数读写 Excel 文件

7.2.1 调用 xlsfinfo 函数获取文件信息

在读取 Excel 目标数据文件前,可以通过 xlsfinfo 函数获取该文件的相关信息,为后续操作获得有效

信息(例如,文件类型、文件内部结构、相关的软件版本等)。

xlsinfo 函数的调用格式如下:

[typ, desc, fmt] = xlsfinfo(filename)

其中输入参数参数 filename 为字符串变量,用来指定目标文件的文件名和文件路径。若目标文件在

matlab 搜索路径下,filename 为文件名字符串即可,例如: 'abc.xls';若目标文件不在 matlab 搜索路径

下,filename 中还应包含文件的完整路径,例如:'E:\other\基础 matlab 案例书籍\abc.xls'。

输出参数的含义如下:

typ:目标文件类型

desc:目标文件内部表名称(sheetname)

fmt:支持目标文件的软件版本

【例 7.2-1】调用 xlsfinfo 函数读取 Excel 文件。以下代码保存在 m 文件 CaseXlsRead.m 中。

%code by ariszheng@https://www.360docs.net/doc/5d2321948.html,

%2010-6-22

%%

%文件名称“excel.xls”

[typ, desc, fmt] = xlsfinfo('excel.xls')

%文件在当前工作目录下,直接输入文件名称即可。

system('taskkill /F /IM EXCEL.EXE');

注释:在用 matlab2009a 与 Excel2007 进行数据交互时,每次使用 xls 类函数,都会重新开启一个

Excel 进程,若反复使用 xls 类函数会导致系统中多个 Excel 进程并存,消耗系统资源,导致系统运行速度

下降,故作者使用 system('taskkill /F /IM EXCEL.EXE')调用 windows 的 taskkill 函数关闭刚使用的 Excel 进程。

本例输出结果如下:

typ =

Microsoft Excel Spreadsheet

%文件类别为 excel 文件

desc =

'Sheet1' 'Sheet2' 'Sheet3'

%文件中数据表为'Sheet1' 'Sheet2' 'Sheet3'

fmt =

xlExcel8

%文件版本为 xlExcel8 版本对应的为 excel 97~2003 版本

成功: 已终止进程 "EXCEL.EXE",其 PID 为 5508。

章名·3·

7.2.2 调用 xlsread 函数读取数据

数据导入向导在导入 Excel 文件时调用了 xlsread 函数,xlsread 函数用来读取 Excel 工作表中的数据。原理是这样的,当用户系统安装有 Excel 时,MATLAB 创建 Excel 服务器,通过服务器接口读取数

据。当用户系统没有安装 Excel 或 MATLAB 不能访问 COM 服务器时,MATLAB 利用基本模式(Basic

mode)读取数据,即把 Excel 文件作为二进制映像文件读取进来,然后读取其中的数据。xlsread 函数的

调用格式如下:

1.num = xlsread(filename)

读取由 filename 指定的 Excel 文件中第 1 个工作表中的数据,返回一个双精度矩阵 num. 输入参数filename 是由单引号括起来的字符串,用来指定目标文件的文件名和文件路径。

当 Excel 工作表的顶部或底部有一个或多个非数字行(如图 7.1-1 中的第 1 行),左边或右边有一个

或多个非数字列(如图 7.1-1 中的第 H 列)时,在输出中不包括这些行和列。例如,xlsread 会忽略一个电

子表格顶部的文字说明。

如图 7.1-1 中的第 D 列,它是一个处于内部的列。对于内部的行或列,即使它有部分非数字单元格,

甚至全部都是非数字单元格,xlsread 也不会忽略这样的行或列。在读取的矩阵 num 中,非数字单元格位

置用 NaN 代替。

2.num = xlsread(filename, -1)

在 Excel 界面中打开数据文件,允许用户交互式选取要读取的工作表以及工作表中需要导入的数据区

域。这种调用会弹出一个提示界面,提示用户选择 Excel 工作表中的数据区域。在某个工作表上单击并拖

动鼠标即可选择数据区域,然后单击提示界面上的“确定”按钮即可导入所选区域的数据。

3.num = xlsread(filename, sheet)

用参数 sheet 指定读取的工作表。sheet 可以是单引号括起来的字符串,也可以是正整数,当是字符串时,用来指定工作表的名字,当是正整数时,用来指定工作表的序号。

4.num = xlsread(filename, range)

用参数 range 指定读取的单元格区域。range 是字符串,为了区分 sheet 和 range 参数,range 参数必需是包含冒号,形如 'C1:C2' 的表示区域的字符串。若 range 参数中没有冒号,xlsread 就会把它作为工作表

的名字或序号,这就可能导致错误。

5.num = xlsread(filename, sheet, range)

同时指定工作表和工作表区域。

【例 7.2-2】调用 xlsread 函数读取文件 examp71_1.xls 第 1 个工作表中区域 A2:H4 的数据。命令及结果如下:

% 读取文件 examp71_1.xls 第 1 个工作表中单元格 A2:H4 中的数据

% 第一种方式:

>> num = xlsread('examp71_1.xls','A2:H4')

num =

% 返回读取的数据矩阵 num

1 2 3 60101

60101

60101

6010101

6010102

6010103

NaN

NaN

NaN

63

73

63

73

% 第二种方式:

>> num = xlsread('examp71_1.xls',1,'A2:H4')

num =

% 返回读取的数据矩阵 num

·4·书名

1 2 3 60101

60101

60101

6010101

6010102

6010103

NaN

NaN

NaN

63

73

63

73

% 第三种方式:

>> num = xlsread('examp71_1.xls','Sheet1','A2:H4')

num =

% 返回读取的数据矩阵 num

1 2 3 60101

60101

60101

6010101

6010102

6010103

NaN

NaN

NaN

63

73

63

73

可以看出上述命令中用到的三种调用方式的作用是相同的,读取到了相同的数据。

6.num = xlsread(filename, sheet, range, 'basic')

用基本模式(Basic mode)读取数据。当用户系统没有安装 Excel 时,用这种模式导入数据,此时导

入功能受限,range 参数的值会被忽略,可以设定 range 参数的值为空字符串(''),而 sheet 参数必须是字符串,此时读取的是整个工作表中的数据。

7.num = xlsread(filename, …, functionhandle)

在读取电子表格里的数据之前,先调用由函数句柄 functionhandle 指定的函数。它允许用户在读取数

据之前对数据进行一些操作,例如在读取之前变换数据类型。

用户可以编写自己的函数,把函数句柄传递给 xlsread 函数。当调用 xlsread 函数时,它从电子表格读取数据,把用户函数作用在这些数据上,然后返回最终结果。 xlsread 函数在调用用户函数时,它通过

Excel 服务器 Range 对象的接口访问电子表格的数据,所以用户函数必须包括作为输入输出的接口。

【例 7.2-3】将文件 examp71_1.xls 第 1 个工作表中 A2 至 C3 单元格中的数据加 1,并读取变换后的数据。

首先编写用户函数如下:

function DataRange = setplusone1(DataRange)

for k = 1:DataRange.Count

DataRange.Value{k} = DataRange.Value{k}+1; % 将单元格取值加 1

end

用户函数中的输入和输出均为 DataRange,其实它就是一个变量名,用户可以随便指定。当 xlsread

函数调用用户函数时,会通过 DataRange 参数传递 Range 对象的接口,默认情况下传递的是第 1 个工作表

对象的 UsedRange 接口,用户函数通过这个接口访问工作表中的数据。

把用户函数句柄作为 xlsread 函数的最后一个输入,可以如下调用:

% 读取文件 examp71_1.xls 第 1 个工作表中单元格 A2:C3 中的数据,将数据分别加 1 后返回

>> convertdata = xlsread('examp71_1.xls', '', 'A2:C3', '', @setplusone1)

convertdata =

2 3 60102

60102

6010102

6010103

8.[num, txt]= xlsread(filename, …)

返回数字矩阵 num 和文本数据 txt. txt 是一个元胞数组,如同例 7.1-1 中的 textdata,txt 中与数字对应位置的元胞为空字符串('')。

9.[num, txt, raw] = xlsread(filename, …)

num 和 txt 的解释同上,返回的 raw 为未经处理的元胞数组,既包含数字,又包含文本数据。

章名·5·

10.[num, txt, raw, X] = xlsread(filename, …, functionhandle)

返回用户函数的额外的输出 X。此时的用户函数应有两个输出,第 1 个输出为 Range 对象的接口,

第 2 个输出为这里的 X。

例如,可以将例 7.2-3 中的用户函数增加一个输出,变为如下形式:

function [DataRange, customdata] = setplusone2(DataRange)

for k = 1:DataRange.Count

DataRange.Value{k} = DataRange.Value{k}+1; % 将单元格取值加 1

customdata(k) = DataRange.Value{k}; % 把单元格取值赋给变量 customdata end

% 按照所选区域中单元格行数和列数把向量 customdata 变为矩阵

customdata = reshape(customdata, DataRange.Rows.Count, DataRange.Columns.Count);

把函数句柄作为 xlsread 函数的最后一个输入,读取文件 examp71_1.xls 第 1 个工作表中 A2 至 H2 单元格中的数据,命令如下:

% 读取文件 examp71_1.xls 第 1 个工作表中单元格 A2:H2 中的数据,将读取到的数据分别加 1

% 返回数值矩阵 num,文本矩阵 txt,元胞数组 raw,变换后数值矩阵 X

>> [num, txt, raw, X] = xlsread('examp71_1.xls', '', 'A2:H2', '', @setplusone2)

num =

2 60102 6010102 NaN 1 64 64

txt =

{}

raw =

[2] [60102] [6010102] [NaN] [1] [64] [64] [NaN]

X =

2 60102 6010102 NaN 1 64 64 NaN

11.xlsread filename sheet range basic

xlsread 函数的命令行调用方式。此时 sheet 参数必须是字符串(例如 Sheet3),当 sheet 参数中有空格时,必须用单引号括起来(例如 'Income 2002')。

7.2.3 调用 xlswrite 函数把数据写入 Excel 文件

xlswrite 函数用来将数据矩阵 M 写入 Excel 文件,其主要调用方式如下:

xlswrite(filename, M)

xlswrite(filename, M, sheet)

xlswrite(filename, M, range)

xlswrite(filename, M, sheet, range)

status = xlswrite(filename, …)

[status, message] = xlswrite(filename, …)

其中输入参数 filename 为字符串变量,用来指定文件名和文件路径。若 filename 指定的文件不存

在,则创建一个新文件,文件的扩展名决定了 Excel 文件的格式。若扩展名为“.xls”,则创建一个 Excel 97-2003 下的文件,若扩展名为“.xlsx”、“.xlsb”或“.xlsm”,则创建一个 Excel 2007 格式的文件。

M 可以是一个 m×n 的数值型矩阵或字符型矩阵,也可以是一个 m×n 的元胞数组,此时每一个元胞

只包含一个元素。由于不同版本的 Excel 所能支持的最大行数和列数是不一样的,所以能写入的最大矩阵

·6·书名

的大小取决于 Excel 的版本。

sheet 用来指定工作表,可以是代表工作表序号的正整数,也可以是代表工作表名称的字符串。需要

注意的是,sheet 参数中不能有冒号。若由 sheet 指定名称的工作表不存在,则在所有工作表的后面插入一

个新的工作表。若 sheet 为正整数,并且大于工作表的总数,则追加多个空的工作表直到工作表的总数等

于 sheet. 这两种情况都会产生一个警告信息,表明增加了新的工作表。

range 用来指定单元格区域。对于 xlswrite 函数的第 3 种调用,range 参数必需是包含冒号,形如

'C1:C2' 的表示单元格区域的字符串。当同时指定 sheet 和 range 参数时(如第 4 种调用),range 可以是形

如'A2'的形式。xlswrite 函数不能识别已命名区域的名称。range 指定的单元格区域的大小应与 M 的大小相

匹配,若单元格区域超过了 M 的大小,则多余的单元格用#N/A 填充,若单元格区域比 M 的大小还要

小,则只写入与单元格区域相匹配的部分数据。

输出 status 反映了写操作完成的情况,若成功完成,则 status 等于 1(真),否则,status 等于 0 (假)。只有在指定输出参数的情况下,xlswrite 函数才返回 status 的值。

输出 message 中包含了写操作过程中的警告和错误信息,它是一个结构体变量,有两个字段:

message 和 identifier. 其中 message 是包含警告和错误信息的字符串,identifier 也是字符串,包含了警告

和错误信息的标识符。

例如:

message =

message: [1x117 char]

identifier: 'MATLAB:xlswrite:LockedFile'

表示目标文件被锁定从而导致无法写入。当目标文件被其他程序占用时,系统会锁定目标文件,就

会出现这种情况。

【例 7.2-4】生成一个 10×10 的随机数矩阵,将它写入 Excel 文件 excel.xls 的第 2 个工作表的默认区

域。以下代码保存在 m 文件 CaseXlsWrite.m 中。

%code by ariszheng@https://www.360docs.net/doc/5d2321948.html,

%2010-6-22

%%

%产生随机数据

X = rand(10,10);

%将随机数据 X 写入 Excel 文件 excel.xls 的第 2 个工作表的默认区域

[status, message] = xlswrite('excel.xls', X, 'sheet2')

system('taskkill /F /IM EXCEL.EXE')

结果输出

status =

1 %表示写入成功

message =

message: ''

identifier: ''

成功: 已终止进程 "EXCEL.EXE",其 PID 为 368。

7.3 Excel-Link 宏

Matlab 提供使其能与 Excel 互动操作的 Excel-link 宏。Excel-link 使得数据在 matlab 与 Excel 之间随意交换,以及在 Excel 下调用 matlab 的函数,它将 matlab 强大的数值计算功能、数据可视化功能与 Excel 的

数据 Sheet 功能结合在一起,其功能原理如图 7.3-1 所示。下面就简单介绍 Excel-link 的基本操作。

7.3.1 加载 Excel-link 宏

章名

图 7.3-1: Excel-link 功能原理图

图 7.3-2 exlink 加载方法示意图 1

图 7.3-3 exlink 加载方法示意图 2

·7·

·8·书名

图 7.3-4 exlink 加载方法示意图 3

加载 Excel-link 宏的过程如图 7.3-2 至图 7.3-4 所示。单击“工具”菜单,选择“加载宏”选项,在弹

出的加载宏界面中单击“浏览”按钮,通过浏览界面在路径“matlab 的安装路径\toolbox\exlink\” 下找到excllink.xla 文件,双击打开此文件则回到加载宏界面,在 Excel link2.3 for use with matlab 选项前打勾,点击“确定”按钮即可完成加载。加载 Excel-link 宏成功后会在 Excel 工具栏的下方出现“startmatlab、putmatrix、getmatrix、evalstring” 等选项,通过这些选项可以实现 Matlab 与 Excel 之间的数据交互。下

面介绍 Excel-link 宏的具体用法。

7.3.2 使用 Excel-link 宏

1.startmatlab 选项

单击 startmatlab 选项可以启动 matlab

Putmatrix:将 Excel 的数据传输到 matlab 中

图 7.3-5: exlink 使用方法示意图

在 matlab 中:可看到传入到 matlab 中的矩阵 x,就算 y=sin(x)

章名

图 7.3-6: exlink 使用方法示意图

Getmatrix :将 matlab 的数据传输到 Excel 中

图 7.3-7: exlink 使用方法示意图

点击 getmatrix 出入要传入的矩阵变量名称,确定得

·9·

·10·书名

图 7.3-8: exlink 使用方法示意图

Evalstring:执行 string 的 matlab 命令,具体可以参看 matlab 的 help

7.3.3 Excel2007 加载与使用宏

加载方法:

点击 Excel 的 office 按钮 点击 Excel 选项 在加载项中点击转到见下图

图 7.3-9 Excel2007 加载 exlink

浏览(matlab 的安装路径) toolbox 文件夹 exlink 文件夹 excllink.xla 文件(打开)

使用方法:

在 Excel2007 加载项下可以发现 exlink 相关的按钮,具体使用方法与 exlink 在 Excel2003 中的使用方

章名

法一样。

图 7.3-10 Excel2007 使用 exlink

7.4 参考文献

1.郑志勇. 金融数量分析基于 Matlab 编程. 北京:北航出版社,2009

2.Excel 研究组. Excel2007 函数与公式速查手册.北京:电子工业出版社,2008

·11·

实验八MATLAB文件操作与数据导入导出

实验八 Matlab 文件操作与数据接口 一、实验目的 1、熟练掌握工作区变量的文件操作; 2、熟练掌握文本文件的读写操作; 3、熟练掌握格式化文本文件的输入输出语句的执行 4、了解二进制文件、Mat文件的读写操作 二、实验仪器与软件 1. PC计算机 2. Matlab软件 三、实验原理 1. 二进制文件与文本文件的区别: 将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII 码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bi t),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASCII码:00110101 00110110 00110111 00111000 ↓↓↓↓ 十进制码:5678

MATLAB访问excel

MATLAB访问excel

MATLAB作为自动化客户端调用Excel服务器编程项目中最后的功能——打印报告,最终确定使用ActiveX方式访问office,这个应该称之为OLE(对象链接与嵌入)方法。通过MATLAB 调用Excel服务器,可以完成一些非数据对象的交互,比如图片。 在这里演示一下MATLAB与Excel交互的整体过程,当然这里不是报告的内容,这个属于项目的资料了。这里通过简单的图片来表示,实际要做的时候,步骤和这个基本一致,只是过程麻烦些,每一个图片都要调整,然后数据内容调整,单元格格式等等: 先看一下示意的效果:

1.MATLAB打开自动化方法 使用actxserver函数。如下: he = actxserver('Excel.Application'); 上述语句创建excel服务器,句柄值为he,通过he可以访问excel服务器的属性和方法。 在使用中为了方便存储,可以设置默认路径,使用excel服务器的DefaultFilePath属性:

he.DefaultFilePath = 'E:\'; 调试中为了方便观看excel文件内容,可以设置excel服务器的Visible属性,实际调试时可以改为1,调试过后改为0即可: he.Visible = 1; 2.创建工作簿方法 通过excel服务器的属性Workbooks创建工作簿句柄,通过该句柄的方法Add 创建工作簿: hw = he.Workbooks.Add; 然后,继续通过hw的Worksheets属性建立Sheets类句柄: hs = hw.Worksheets; 访问某一sheet的方法即用sheets的Item方法: sheetItem = hs.Item(1); 上面即建立的sheet类句柄,可以通过该句柄访问单一sheet。 3.生成带有图形的Excel,主要是figure位置和格式,粘贴时只能选择单元格,需要精细修饰就要使用下面的方法了。

导出数据到EXCEL

Private Sub Command1_Click() Dim 文件名称As String 文件名称= "C:\Documents and Settings\Administrator\桌面\Hellod.Doc " Dim uObjDoc As Word.Document Set uObjWord = New Word.Application uObjWord.Documents.Add "Normal", IIf(iMode = 1, True, False) '1、根据"Normal"模板添加一个新的文档[1-创建一个模板,0-创建一个文件] uObjWord.Documents.Save NoPrompt:=True, OriginalFormat:=wdWordDocument '2、设置Word对象为自动保存模式 uObjWord.ActiveDocument.SaveAs 文件名称'3、保存Word文档到文件名称 Set uObjDoc = Nothing End Sub EXCEL用法 Public Function ExporToExcel(strOpen As String) '********************************************************* '* 名称:ExporToExcel '* 功能:导出数据到EXCEL '* 用法:ExporToExcel(sql查询字符串) '********************************************************* Dim Rs_Data As New ADODB.Recordset Dim Irowcount As Integer Dim Icolcount As Integer Dim xlApp As New Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim xlQuery As Excel.QueryTable With Rs_Data If .State = adStateOpen Then .Close End If .ActiveConnection = Cn .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockReadOnly .Source = strOpen .Open End With

Matlab 如何读取 Excel 表格数据

? 上一篇: 在VC++程序中输出空心文字下一篇: My ANN program ? Matlab 如何读取 Excel 表格数据 Cyberr @ 2005-03-31 12:44 Subject: Are there any examples that show how to use the ActiveX automation interface to connect MATLAB to Excel? Problem Description I am trying to control Excel from MATLAB using ActiveX. Are there any examples that show how to use the ActiveX automation interface from Excel to do this? Solution: Most of the functionality that you get from ActiveX is dependent on the object model, which the external application implements. Consequently, we are usually unable tp provide much information about the functions that you need to use in the remote application to perform a particular function. We do, however, have an example that shows how to do perform common functions in Excel. We also recommend that you become more familiar with the Excel object model in order to better use Excel's ActiveX automation interface from MATLAB. You can find more information on this interface by selecting the "Microsoft Excel Visual Basic Reference" topic in the Microsoft Excel Help Topic dialog. This topic area contains a searchable description of Excel methods and properties. The following example demonstrates how to insert MATLAB data into Excel. It also shows how to extract some data from Excel into MATLAB. For more information, refer to the individual comments for each code segment. % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); % Insert a new workbook

.Net 中导出数据到Excel

一、https://www.360docs.net/doc/5d2321948.html,中导出Excel的方法: 在 https://www.360docs.net/doc/5d2321948.html,中导出Excel有两种方法,一种是将导出的文件存放在服务器某个 文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流 写给浏览器。在Response输出时,t分隔的数据,导出Excel时,等价于分列,n等价于换行。 1、将整个 html全部输出Excel 此法将html中所有的内容,如按钮,表格,图片等全部输出到Excel中。 Response.Clear(); Response.Buffer= true; Response.AppendHeader("Content-Disposition","attachment;filename=" +DateTime.Now.ToString("yyyyMMdd")+".xls"); Response.ContentEncoding=System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; this.EnableViewState = false; 这里我们利用了ContentType属性,它默认的属性为text/html,这时将输出为 超文本,即我们常见的网页格式到客户端,如果改为ms-excel将将输出excel 格式,也就是说以电子表格的格式输出到客户端,这时浏览器将提示你下载保存。ContentType的属性还包括: image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 。同理,我们也可以 输出(导出)图片、word文档等。下面的方法,也均用了这个属性。 2、将DataGrid控件中的数据导出Excel 上述方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出 信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据。System.Web.UI.Control ctl=this.DataGrid1; //DataGrid1是你在窗体中拖放的控件 HttpContext.Current.Response.AppendHeader("Content-Disposition","atta chment;filename=Excel.xls"); HttpContext.Current.Response.Charset ="UTF-8"; HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default; HttpContext.Current.Response.ContentType ="application/ms-excel"; ctl.Page.EnableViewState =false; System.IO.StringWriter tw = new System.IO.StringWriter() ; System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw); ctl.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString()); HttpContext.Current.Response.End(); 如果你的DataGrid用了分页,它导出的是当前页的信息,也就是它导出的是

VB将数据导出到EXCEL

'************************************************************************* '** '** VB将数据导出到EXCEL,没有安装EXCEL的一样也可以导出. '** '** 调用方式: s_Export2Excel(Ado.Recordset) 或s_Export2Excel(Rds.RecordSet) '** 支持Rds 与Ado 的记录导出 '** '************************************************************************* '得到所有数据类型,有些数据类型EXCEL不支持,已经替换掉 Public Function f_FieldType$(ByVal sType&) Dim iRe$ Select Case sType Case 2, 3, 20 iRe = "int " Case 5 iRe = "float " Case 6 iRe = "money " Case 131 iRe = "numeric " Case 4 iRe = "real " Case 128 iRe = "binary " Case 204 iRe = "varbinary " Case 11 iRe = "bit " Case 129, 130 iRe = "char " Case 17, 72, 131, 200, 202, 204 iRe = "varchar " Case 201, 203 iRe = "text " Case 7, 135 iRe = "datetime " Case 205 iRe = "image " Case 128 iRe = "timestamp " End Select f_FieldType = iRe

matlab文件的导入导出

GprMaxV2.0中GprMax2D输入文件的命令(1/2) 原创 修改人 修改时间 版本 微风无尘 微风无尘 2012.3.9 V1.1 实验环境: 操作系统:Windows 7 软件版本:MATLAB 7.1 & GprMaxV2.0 参考文献: GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。 GprMaxV2.0下载地址:https://www.360docs.net/doc/5d2321948.html,/Download.html 说明:翻译得不好,还望大家见谅,因为我也是边看边译的。 3.1 GprMax2D命令的一般注意事项 为了描述GprMax2D/3D命令及其参数,我们作以下约定: f表示浮点数(如1.5或15e-1、1.5e1) i表示整数

c表示字符 str表示字符串 file表示输入文件名 所有空间距离的基本单位为米 所有时间的基本单位为秒 所有频率参数的基本单位是Hz 3.2 GprMax2D 2.0版本共有32条命令:#title: #domain: #dx_dy: #time_step_stability_factor: #time_window: #messages: #number_of_media: #nips_number: #media_file: #geometry_file: #medium: #abc_type:

#abc_order: #abc_stability_factors: #abc_optimization_angles: #abc_mixing_parameters: #pml_layers: #box: #cylinder: #x_segment: #y_segment: #triangle: #analysis: #end_analysis: #tx: #rx: #rx_box: #snapshot: #tx_steps: #rx_steps: #line_source: #excitation_file:

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

Matlab中使用Excel数据

Matlab中使用Excel資料收藏 % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server %打開一個Excel操作物件 Excel = actxserver('Excel.Application'); %使Excel物件可見,即打開Excel視窗,實際應用時設置其為不可見的set(Excel, 'Visible', 1); % Insert a new workbook %創建工作本組物件 Workbooks = Excel.Workbooks; %添加一個工作本 Workbook = invoke(Workbooks, 'Add'); % Make the second sheet active %獲取當前活躍工作本的表單組,一個工作本共有3個表單(sheets)Sheets = Excel.ActiveWorkBook.Sheets; %獲取表單組中的一個表單 sheet2 = get(Sheets, 'Item', 2); %啟動該表單 invoke(sheet2, 'Activate'); % Get a handle to the active sheet %獲取當前活躍表單的控制碼 Activesheet = Excel.Activesheet; % Put a MATLAB array into Excel %向表單中寫入資料 A = [1 2; 3 4]; %設置寫到Excel中的範圍 ActivesheetRange = get(Activesheet,'Range','A1:B2'); %寫入 set(ActivesheetRange, 'Value', A); % Get back a range. It will be a cell array, % since the cell range can % contain different types of data. %讀會資料塊 Range = get(Activesheet, 'Range', 'A1:B2');

网页数据如何简单导出excel

https://www.360docs.net/doc/5d2321948.html, 网页数据如何简单导出excel 在浏览网页时,遇到我们需要的网页数据时,如文字、图片等,如何能简单的导出到Excel 中,方便在本地电脑中查看和编辑呢?当然是有办法的啦!下面就为大家介绍几种简单快速的将网页数据导出到Excel的方法,大家可以灵活运用。 一、通过浏览器导出网页数据 具体操作:打开某网页后,右键点击网页空白处,在下拉列表中选择“另存为”,然后在弹出的保存窗口中选择保存类型为“网页全部”。选择保存位置后确定,保存后就会自动保存两个文件,一个是网址,另一个是保存网页内容元素。 如何导出网页数据,以赶集网采集为例图1

https://www.360docs.net/doc/5d2321948.html, 二、通过网页数据采集器导出网页数据 先通过网页数据采集器,将网页数据采集下来,然后再导出为需要的格式即可。本文使用的是操作简单、功能强大的八爪鱼采集器。以下是一个八爪鱼采集并导出网页数据的完整示例。示例中采集的是赶集网上房产-商铺-深圳-南山分类下的所有商铺信息。 示例网站:https://www.360docs.net/doc/5d2321948.html,/fang6/nanshan/ 步骤1:创建采集任务 1)进入主界面,选择“自定义模式” 如何导出网页数据,以赶集网采集为例图2 2)将要采集的网址URL,复制粘贴到网址输入框中,点击“保存网址”

https://www.360docs.net/doc/5d2321948.html, 如何导出网页数据,以赶集网采集为例图3 步骤2:创建翻页循环 1)在页面右上角,打开“流程”,以展现出“流程设计器”和“定制当前操作”两个板块。将页面下拉到底部,点击“下一页”按钮,在右侧的操作提示框中,选择“循环点击下一页”

matlab利用excellink达到在excel中直接画图

matlab excel混合编程MATLAB与 Excel数据连接及绘图 3.1 MATLAB与Excel数据连接 EXCEL和MATLAB在数据显示和数值计算上各有优势,EXCEL是商业运用最广泛的工具,非常直观,但是数值编程比较差,而MA TLAB可以弥补这一点,有时在程序开发上需要将两者结合起来,实现两者之间的优势互补,为此MATLAB提供了EXCEL Link连接工具,实现MA TLAB与EXCEL之间的混合编程。 EXCEL Link是一个在Microsoft Windows环境下实现对Microsoft EXCEL和MATLAB 进行链接的插件。通过对EXCEL和MATLAB 的连接,用户可以在EXCEL的工作空间里,利用EXCEL的宏编程工具,使用MATLAB的数据处理和图形处理功能进行相关操作,同时由EXCEL Link来保证两个工作环境中数据的交换和同步更新。使用EXCEL Link 时,不必脱离EXCEL环境,而是直接在EXCEL工作区或宏操作中调用MATLAB函数。 EXCEL Link允许在MATLAB和EXCEL之间进行数据交换,在两个功能强大的数学处理、分析与表示平台之间建立无缝连接。EXCEL作为一个可视化的数据处理环境是进行数组编辑的最佳选择,而MA TLAB则作为数据分析和可视化的引擎。任何输入到EXCEL环境中的数据都可以直接进入MTA TLAB进行处理,而这一过程完全是“现场”处理的,没有任何中间文件,也不需要进行编程工作。

3.1.1 MATLAB和Excel的接口安装:. Excel Link的安装和和设置 首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示: 安装完Excel Link后还需要在Excel中进行一些设置后才能使用。 启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:

excel中的数据导入matlab中

用Excel Link实现Excel与Matlab混合编程 Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel 和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。 2. ExcelLink连接管理函数 (1) Matlabinit 该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。 使用语法:Matlabinit (2) MLAutoStart 设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 在宏中的使用语法: MLAutoStart "yes" MLAutoStart "no" 使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。 (3) MLClose 终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose (4) MLOpen 启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen

把MSHFlexGrid里数据导出至Excel

如何把MSHFlexGrid里的数据导出至Excel? 用Adodc1做了查询语句,结果显示在一个MSHFlexGrid里面。现在要求做一个按钮(Command1),点击它就把MSHFlexGrid里显示的数据导出至Excel表中。就是一点这个按钮,就会自动打开Excel,然后数据就已经进去了,方便编辑和打印。 要求:代码详细,直接复制到Command1下就能用。这块我不懂,所以不要搞什么子程序调用之类的,要有子程序也给直接调用好。 直接复制代码成功后,再追加100分。把这个弄完工程就结了,再不用受罪了,哈哈! 以下是精简后的代码,不清楚你工作中的一些细节,所以如有问题与我讨论 Private Sub Command1_Click() MSFlexGrid1.Redraw = False '关闭表格重画,加快运行速度 Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象 Set xlBook = xlApp.Workbooks.Open(App.Path & "\对账模板.xls") '打开已经存在的EXCEL 工件簿文件 xlApp.Visible = True '设置EXCEL对象可见(或不可见) Set xlsheet = xlBook.Worksheets("Sheet1") '设置活动工作表 For R = 0 To MSFlexGrid1.Rows - 1 '行循环 For C = 0 To MSFlexGrid1.Cols - 1 '列循环 MSFlexGrid1.Row = R MSFlexGrid1.Col = C xlBook.Worksheets("Sheet1").Cells(R + 1, C + 1) = MSFlexGrid1.Text '保存到EXCEL Next C Next R MSFlexGrid1.Redraw = True 'xlsheet.PrintOut '打印工作表 xlApp.DisplayAlerts = False '不进行安全提示 'xlBook.Close (False) '关闭工作簿 Set xlsheet = Nothing Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub

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

matlab导出数据(fprintf,dlmwrite,xlswrite)

matlab导出数据(fprintf,dlmwrite,xlswrite) 1.用fprintf 函数写数据到txt,xls Example: x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'w'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid) tip:执行上述代码执行,肯定不会换行的,换行的问题试一下下面的代码 x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'wt'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid); x = 1; fid = fopen('exp.txt', 'w'); fprintf(fid, '%d', x); fclose(fid); 这次就没有问题了,我们要注意fopne的参数wt 而不是 w,这是matlab的在线帮助的东东 fid = fopen(filename, permission_tmode) on Windows systems, opens the file in text mode instead of binary mode (the default). The permission_tmode argument consists of any of the specifiers shown in the Permission Specifiers table above, followed by the letter t, for example 'rt' or 'wt+. On UNIX?systems, text and binary mode are the same. (UNIX is a registered trademark of The Open Group in the United States and other countries). 就是有两种读取模式binary or text. When choosing the binary model,No characters are given special treatment. 所以我们选择要注明text模式。 2. dlmwrite :将一个矩阵写到由分隔符分割的文件中。 在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite命令。

VB程序导出数据到Excel

vb导出数据到Excel Public Function ExporToExcel(strOpen As String,cn As ADODB.Connection) '入参为SQL查询语句,cn为当前活动的连接 '********************************************************* '* 名称:ExporToExcel '* 功能:导出数据到EXCEL '* 用法:ExporToExcel(sql查询字符串) '********************************************************* Dim Rs_Data As New ADODB.Recordset Dim Irowcount As Integer Dim Icolcount As Integer Dim FILENAME As String Dim xlApp As New Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim xlQuery As Excel.QueryT able With Rs_Data If .State = adStateOpen Then .Close End If .ActiveConnection = Cn .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockReadOnly .Source = strOpen .Open End With With Rs_Data If .RecordCount < 1 Then MsgBox ("没有记录!") Exit Function End If '记录总数 Irowcount = .RecordCount '字段总数 Icolcount = .Fields.Count End With Set xlApp = CreateObject("Excel.Application") Set xlBook = Nothing Set xlSheet = Nothing

数据导入和导出

数据导入和导出_01 数据对象 一、序列(Series) Eviews的序列包含了某个变量的一组观察值。在序列中与每个观察值相关联的是日期或者观察值的标签(序号)。对于工作文件中的日期型序列,假定观察值在整个时间区间上是按特定的时间频率(年、季、月、星期和日中之一)有规则地观察得到的;对于非日期型的序列,则假定观察值不遵从任何特定的频率。 1、建立序列(Creating a series) 建立序列的主要方法有几种。 (1)方法一,选择Object/New Objects再选择序列(series),此时允许给序列命名,或者让新序列记作untitled,点击OK。EViews打开新序列的电子数据表观察,新序列所有观察值被赋给了编码为NA的缺失数据。可以对它们进行编辑,或者用表达式给它们赋值。

(2)方法二,用数学表达式生成序列。点击Quick/Generate Series 并键入定义序列的表达式。这种方法的深入讨论参见:Working with Series。

2、编辑序列(Editing a series) 编辑序列,即对序列中的个别观察值进行编辑。步骤: 第一步,打开序列的电子数据表观察。如果序列的观察不显示为电子数据表观察,点击Sheet按钮或从序列的菜单上选择View/Spreadsheet,将观察改为序列缺省观察——电子数据表观察。 第二步,确保电子数据表观察处于编辑模式下。 EViews允许对电子数据表观察进行保护数据模式与编辑数据模式的设置,通过按压Edit +/-按钮在编辑模式与保护模式之间进行切换。 第三步,更改某一个观察值:在编辑模式下,选择单元格,键入数值,然后按EBTER。 注意,有些单元格始终处于保护模式。如果选择了一个处于保护模式下的单元格,EViews在编辑窗口显示信息:“the cell cannot be edi ted.”。EViews不允许对这类单元进行编辑。 第四步,完成数据编辑以后,还应点击Edit +/-,关闭编辑模式,以免数据受到意外的损害。 3、改变电子数据表的显示格式(Changing the Spreadsheet Display) EViews提供了几种不同的格式,在电子数据表中查看序列中的数据。

C#中数据库数据如何导出至Excel表格

C#中数据库数据如何导出至Excel表格 有时候需要将数据库的数据导出至Excel表格表格,以便进行查看和分析,那么如何导出呢?下面用代码来实现。 首先,新建一个工程,需要添加引用Microsoft.Office.Interop.Excel.dll,以Oracle数据 库为例(只要读出DataTable或DataSet就行了,哪种数据库没关系)。 1、创建一个表格,并插入如下数据。 [sql]view plaincopyprint? 1.drop table TABLETESTEXCEL; 2.create table TABLETESTEXCEL 3.( 4. col_id NUMBER not null, 5. col_name VARCHAR2(32), 6. col_age NUMBER, 7. col_sex VARCHAR2(4), 8. col_work VARCHAR2(32), 9. col_mony FLOAT 10.); 数据: [sql]view plaincopyprint? 1.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 2.values (1, '吴一', 25, '男', '.NET', 5000); 3. 4.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 5.values (2, '孙二', 24, '男', 'JAVA', 4999); 6. 7.insert into TABLETESTEXCEL (col_id, col_name, col_age, col_sex, col_work, col_mony) 8.values (3, '张三', 25, '男', 'PHP', 5001);

相关文档
最新文档