当前位置:文档之家› C# 讲解五种导出access数据到Excel文件格式中

C# 讲解五种导出access数据到Excel文件格式中

C# 讲解五种导出access数据到Excel文件格式中
C# 讲解五种导出access数据到Excel文件格式中

1.首先声明,这些方法也都是本人搜集的资料,然后为已所用,程序中不足之处,还请高手指点. 这些方法都没有关闭Excel进程。

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

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

using Access;

Access.ApplicationClass oAccess = new Access.ApplicationClass(); oAccess.Visible = false;

try

{ //ACCESS9:

oAccess.OpenCurrentDatabase("d:\wcf.mdb",false,"");

//导出到excel

oAccess.DoCmd.TransferSpreadsheet(Access.AcDataTransferType.acExport,Acc e ss.AcSpreadSheetType.acSpreadsheetTypeExcel9,"工作表名

","d:\wcf.xls",true,null,null);

//导入txt

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

oAccess.CloseCurrentDatabase();

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

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

MessageBox.Show("导入成功");

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

GC.Collect();

}

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

string FileName="d:\abc.xls";

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

FileStream objFileStream;

StreamWriter objStreamWriter;

string strLine="";

objFileStream = new

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

StreamWriter(objFileStream,System.Text.Encoding.Unicode);

for(int i=0;i

{

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

objStreamWriter.WriteLine(strLine);

strLine="";

for(int i=0;i

{

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

for(int j=1;j

{

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

}

objStreamWriter.WriteLine(strLine);

strLine="";

}

objStreamWriter.Close();

objFileStream.Close ();

方法3:用https://www.doczj.com/doc/991870320.html, 此方法速度较以上两个显得慢了一些,数据量越大越明显

int Id=0;

string Name="测试";

string FileName="d:\abc.xls";

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

long totalCount=dt.Rows.Count ;

long rowRead=0;

float percent=0;

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

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

OleDbConnection objConn = new OleDbConnection(connString); OleDbCommand objCmd = new OleDbCommand();

objCmd.Connection = objConn;

objConn.Open();

//建立表结构

https://www.doczj.com/doc/991870320.html,mandText = @"CREATE TABLE Sheet1(序号 Integer,名称 varchar)"; objCmd.ExecuteNonQuery();

//建立插入动作的Command

https://www.doczj.com/doc/991870320.html,mandText = "INSERT INTO Sheet1(" Id "," Name ")";

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

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

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

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

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

for(int i=0;i

{

parm[0].Value=i 1;

for(int j=1;j

{

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

}

objCmd.ExecuteNonQuery();

rowRead ;

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

//this.FM.CaptionText.Text = "正在导出数据,已导出["

percent.ToString("0.00") "%]...";

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

//this.FM.CaptionText.Text = "请稍后......";

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

}

objConn.Close();

//this.FM.CaptionText.Text = "";

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

using Excel;

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

string FileName="d:\abc.xls";

long totalCount=dt.Rows.Count;

long rowRead=0;

float percent=0;

Excel.Application xlApp=null;

xlApp=new Excel.Application();

Excel.Workbooks workbooks=xlApp.Workbooks;

Excel.Workbook

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

Excel.Range range;

//写入字段

for(int i=0;i

{

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

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

}

for(int r=0;r

{

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

for(int i=0;i

{

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

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

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

}

rowRead ;

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

//this.FM.CaptionText.Text = "正在导出数据,已导出["

percent.ToString("0.00") "%]...";

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

}

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

workbook.Saved =true;

workbook.SaveCopyAs(FileName);

//this.FM.CaptionText.Text = "";

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

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

string filePath=@"d:abc.xls";

object oMissing = System.Reflection.Missing.Value;

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

try

{

xlApp.Visible = false;

xlApp.DisplayAlerts = false;

Excel.Workbooks oBooks = xlApp.Workbooks;

Excel._Workbook xlWorkbook = null;

xlWorkbook =

oBooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissi ng,

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

Excel.Worksheet xlWorksheet;

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

xlWorksheet =

(Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing,oMissing,1,oMissing); // 以TableName作为新加的Sheet页名。

https://www.doczj.com/doc/991870320.html, ="企业名录";

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

string stringBuffer = "";

for( int j=0; j

{

for( int k=0; k

{

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

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

stringBuffer = " ";

}

stringBuffer = " ";

}

// 利用系统剪切板

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

// 将stringBuffer放入剪切板。

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

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

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

// 粘贴!

xlWorksheet.Paste(oMissing,oMissing);

// 清空系统剪切板。

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

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

xlWorkbook.Close( Excel.XlSaveAction.xlSaveChanges , oMissing, oMissing ); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook); xlWorkbook = null;

导出数据到EXCEL

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

实验一ACCESS数据库及表的操作

可编辑可修改 实验一数据库及表的操作 实验类型:验证性实验课时:_6_学时指导教师: _______________ 时间:2013年月日课次:第___________________ 节教学周次:第________ 周 实验分室:_______________ 实验台号:__________ 实验员:_________________ 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4?数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb ”数据库,并将建好的数据库文件保存在“实验一”文件夹中。 操作步骤:

IS 1 丿小? e 叮亍 Micrtilitil ftfdwvi 口 可审业 a 站 j-t 4审时 OffiCfLC WF gm ■ *陆 (2)单击険'I 按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“ 件夹中,单击“确定”按钮,如图 1-2所示。 (3)这时返回到access 启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件 扩展名,access 将自动添加上。 (4 )在右侧窗格下面,单击“创建”命令按钮,如图 1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表 1的数据表,并以数据表视图方式打开这 个表1,如图1-3所示。 J 曰归 图1-1 创建教学管理数据库 (1 )在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库” ,在右侧窗格的文件名文本 框中,给出一个默认的文件名“” 。把它修改为“教学管理”如图 1-1所示。 实验一”文

建立一个简单的access数据库

这一节我们将学习有关数据库创建的内容,用过Access 创建数据库的朋友可以略过不看。 打开Microsoft Access,选择文件 -〉新建数据库,然后选择一个位置保存你的数据库文件,这里我们按它默认的命名保存。 保存数据库后我们看到的是下面的界面,双击使用设计器创建表,开始创建一个数据表。我们这里的应用你只需照着步骤一步步做下去,即使你以前从没接触过数据库也没有问题,如果你想做深层次的应用,涉及到关系结构的话,那最好还是找一本数据库的书来看看。

接下来我们设计一个用户注册用的用户信息表。双击使用设计器创建表,打开设计界面。在字段名称一栏中填入你想纪录的用户信息(最好字段名不要用中文来命名,这样以后编程的时候不会有太多麻烦,同时也要注意不要用到了数据库自己的保留字---比如temp,这样的话和数据库程序会有冲突,尽量用表名+下滑线+名称的方式来命名,比如tbl_userinfo_name,这里我们先用简单的命名处理)。我们共创建了6个字段,分别为username(保存用户注册的id)、userpass(用户注册用的密码)、usermail(用户的电子邮件地址)、reg_date(用户注册时间)、homepage(用户的个人主页地址)、phone (用户的联系电话)。数据类型形用它默认的文本类型,字段大小为50,先面我们再来对个别字段进行处理。

一般来讲,用户名、密码、电子邮件地址、联系电话号码都不会超过50个字符(当然,如果有人恶意输入过长的字符串的话会报错,所以我们在后面的网页制作中要做一些限制),而个人主页地址呢,则可能超过---,所以我们将它的字段大小调整为200。 注册日期的时间类型改为日期/时间,*_’ 当然嘛。然后我们可以调用access自己的函数功能为他添加一个默认值, =Now() ,这表示当数据添加时,数据库系统自动以服务器当前时间作为reg_date字段的值,这样我们就可以省去在网页中制作输入注册日期的一步了。

.Net 中导出数据到Excel

一、https://www.doczj.com/doc/991870320.html,中导出Excel的方法: 在 https://www.doczj.com/doc/991870320.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用了分页,它导出的是当前页的信息,也就是它导出的是

Access上机操作题——报表操作

Access上机操作题之二十 ——创建报表㈠ 一、使用工具栏中“新对象:自动报表”按钮创建纵栏式报表: ●创建“学生”表的纵栏式报表,其操作步骤如下: ①打开“教学”数据库,选择“表”对象。 ②选择“学生”数据表。 ③单击工具栏中的“新对象:自动报表”按钮,选择“自动报表”选项。 ④保存此报表。 ●窗体转换为报表: 将“教学”数据库中的“学生”窗体转换为报表。其操作步骤如下: ①打开“教学”数据库,选择“窗体”对象。 ②右击“学生”窗体名,选择“另存为”命令。 ③在“另存为”对话框中的“保存类型”下拉按钮中,选择“报表”选项。 ④单击“确定”按钮。 ●学生操作训练 ⑴创建“课程”表的纵栏式报表。 ⑵创建“成绩”表的纵栏式报表。 ⑶在“职工基本情况”数据库中,创建一个基于“职工”数据表的窗体,然后再将转换为报表。 二、使用向导创建单表报表: 1、自动创建纵栏式报表: ⑴根据“学生”表创建纵栏式报表,其操作步骤如下: ①选择“插入”菜单中的“报表”命令,或选择“报表”对象后,再单击“新建”按钮。 ②选择“自动创建报表:纵栏式”选项,并选择数据来源为“学生”表后,单击“确定”按钮。 ③保存此报表。 注:自动创建表格式报表和数据表式报表的操作方法同此相似。 学生操作训练: ⑵根据“课程”表,分别创建一个纵栏式、表格式报表。 ⑶根据“成绩”表,分别创建一个纵栏式、表格式报表。 2、使用“报表向导”创建报表: ⑴使用“报表向导”建立一个基于“学生”表中“学号、姓名、性别、出生日期”等字段的简单报表。其操作步骤如下: ①选择“报表”对象,双击“使用向导创建报表”选项。 ②在“表/查询”下拉列表中选择报表的数据来源——“学生”表,然后选择在报表中要显示的字段名:学号、姓名、性别、出生日期等,最后单击“下一步”按钮。 ③设置分组:确定是否添加分组级别。暂时不添加,则直接单击“下一步”按钮。 ④设置记录的排序次序。暂时不设置排序,则直接单击“下一步”按钮。

ACCESS数据库的基本操作

ACCESS数据库的基本操作 一、建立数据库 ACCESS数据库是一个独立的文件,其扩展名为.MDB。它所包含的对象:表(Table) 、查询(Query) 、窗体、报表、数据访问页、宏、模块等。 一个数据库可以拥有多个表、多个查询及多个其它对象,而表是整个数据库的基础。 创建数据库的二种方式: 1.启动Access 2002时创建数据库 “开始,程序,Microsoft access”→“空access 数据库”→指定保存位置和文件名 2.进入Access 2002后创建数据库 “文件,新建”→“常用”选项卡上选择“数据库”→指定保存位置和文件名→“创建” 二、建立表 创建表的三种方式: 1. 使用表设计器创建表结构 2. 使用“表向导”(利用示例表)创建表结构 3. 通过输入数据直接创建表结构和记录

重点掌握:使用表设计器 创建表的步骤: 1、设计表结构 数据库窗口“表”面板→双击“使用设计器创建表”→打开“设计视图”→设计表结构→“关闭”设计视图→输入表名。 2、输入表记录 双击表名打开“数据表视图”→输入表记录→“关闭”数据表视图。 关于表的说明: 1)表的三要素:表名、记录(行)、字段(列) 2)表的定义项:表名、字段名、字段数据类型、字段属性和表的主关键字。表的可选定义项:字段说明、表的属性。 3)表的命名:字母、汉字、数字、空格和除了句号、叹号、方括号等字符以外字符的任何组合。(在同一个数据库中,表名不能重复) 关于字段的说明: 1)字段名:每一个字段都必须有一个唯一的名字。 ①字段名长度不超过64个字符。 ②字段名可以包含字母、汉字、数字、空格(但空格不能为首字符), 还可以包含大部分标点符号。 ③字段名不能出现句号(。)、叹号(!)、方括号([ ])。 ④在同一张表中,字段名不能重复使用。

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

数据库上机操作题

Access 上机操作题(共5题,3分/题) 数据库上机操作题 1. 建立学生管理数据库,添加相应数据库表,并建立表间关系 (1)打开Access2010,建立“学生管理”数据库,并添加三个表,分别是Student、Course 和Grade。 Student Grade

(2)在Student表中以“学号”建立主键,在Course表中以“课程号”建立主键 (3)以Student与Grad表按“学号”字段建立关系,以Grad表“课程编号”字段与Course 表中“课程号”字段建立关系。 2. 根据已有学生数据库建立简单查询 (1)按照操作题1中的Student、Course和Grade三个表,建立综合查询,要求包括三个表中无重复的所有字段,并将查询结果存到新表stud中。 (2)按照学号建立参数查询,查询学号是12102105学生的基本情况和选课情况。 (3)按照分数的降序排列显示学生所有信息。 (4)将学生成绩表的Grage成绩按80%修改。 3. 基于已有的学生管理数据库,建立高级查询 (1)创建一个选择查询,查询并显示学生的平均分数,所在班级名称。 (2)显示所有分数高于80分的学生姓名所有信息。 (3)创建一个选择查询,查询开课时间在2013年中121021班级学生的选课情况。 (4)在Grade表中添加“等级”字段,将成绩在80分或以上的学生在等级字段中添加“优良”标识。 4. 建立学生基本情况及成绩情况窗体 (1)基于建立的学生管理数据库,按照性别添加照片字段数据(有照片文件夹) (2)利用自动创建窗体,所建窗体命名为“学生基本信息”; (3)利用窗体设计修改窗体,调整窗体位置,添加背景图片(有图片文件) (4)添加4个导航按钮,分别指向“下一项记录”、“前一项记录”、“最后一记录”和

建立一个简单的access数据库

建立一个简单的access数据库 这一节我们将学习有关数据库创建的内容,用过Access创建数据库的朋友可以略过不看。 打开Microsoft Access,选择文件-〉新建数据库,然后选择一个位置保存你的数据库文件,这里我们按它默认的命名保存。 保存数据库后我们看到的是下面的界面,双击使用设计器创建表,开始创建一个数据表。我们这里的应用你只需照着步骤一步步做下去,即使你以前从没接触过数据库也没有问题,如果你想做深层次的应用,涉及到关系结构的话,那最好还是找一本数据库的书来看看。

接下来我们设计一个用户注册用的用户信息表。双击使用设计器创建表,打开设计界面。在字段名称一栏中填入你想纪录的用户信息(最好字段名不要用中文来命名,这样以后编程的时候不会有太多麻烦,同时也要注意不要用到了数据库自己的保留字---比如temp,这样的话和数据库程序会有冲突,尽量用表名+下滑线+名称的方式来命名,比如tbl_userinfo_name,这里我们先用简单的命名处理)。我们共创建了6个字段,分别为username(保存用户注册的id)、userpass(用户注册用的密码)、usermail(用户的电子邮件地址)、reg_date(用户注册时间)、homepage(用户的个人主页地址)、phone

(用户的联系电话)。数据类型形用它默认的文本类型,字段大小为50,先面我们再来对个别字段进行处理。 一般来讲,用户名、密码、电子邮件地址、联系电话号码都不会超过50个字符(当然,如果有人恶意输入过长的字符串的话会报错,所以我们在后面的网页制作中要做一些限制),而个人主页地址呢,则可能超过---,所以我们将它的字段大小调整为200。 注册日期的时间类型改为日期/时间,*_’ 当然嘛。然后我们可以调用access自己的函数功能为他添加一个默认值,=Now() ,这表示当数据添加时,数据库系统自动以服务器当前时间作为

CISORCAD本地元件ACCESS数据库创建及加载方法详解

CIS(ORCAD)本地元件ACCESS数据库创建及加载方法详解 软件使用 | 标签: 很多年前在某大公司上班,只是会使用CIS(ORCAD)本地元件ACCESS数据库来调用器件,每次有新的器件只是更新一下相关的库文件以及access数据库就可以同步调用最新的器件,非常的规范和方便,后来自己出来做pcb,就没有这么规范的去做了,随之而来的问题也很多,比如库的不规范,库管理的混乱,没有相关库文件积累的过程等等,做了这么多年,可以说积累下来的库寥寥无几,作为一个专业的pcb设计人员我想这些是不能被容忍的。痛定思痛,我决定建立自己的数据库来管理pcb库。 这么做的好处有哪些?第一就是做好相关库文件的分类,不会导致库的混乱,修改和添加起来比较方便,相当于有一个数据库目录来索引所有的库。第二就是属性能方便的添加,几乎所有的属性都在数据库中添加,能将属性添加和库的建立分开,能简化工作流程,使工作清晰化。第三就是最终制作bom 的简化,基本可以做到导出的bom就是可以使用的包括你所需要的所有字段的bom。肯定还有其他的好处,读者可以结合实际情况去总结。 第一步讲CIS(ORCAD)本地元件ACCESS数据库创建 怎样建立一个ACCESS数据库是比较简单的,即使你没学过ACCESS的使用,看完这部分,你也能简单快速的建立一个数据库。 首先新建一个数据库,打开access2003

点击空数据库 弹出让你选择数据库保存路径的窗口这里随便起个名字即可,路径也可以随意,但是待会最好复制到一个你统一管理的位置,注意文件夹路径中不要有中文,如果有中文可能导致后面的加载失败。 选择好路径点击创建后就会弹出下面的窗口 选择使用设计器创建表,在如下弹出的窗口中输入以下字段 part number就是一个公司对应一个物料的唯一标示,所以将其放在主键的位置,其他的相信很好理解,特别说明一下,如果没有用过allegro的同学要注意一下schematic part的创建,这个字段是在cis(orcad)中调用器件时所要查询的一个字段。 创建完毕后点击保存 在这里输入这个数据库的名称,如果这个表格式电容的数据库文件那么就输入capacitor,说明下,前面那个mdb文件包含了很多张表格,每个表格又对应相应的数据库。 点是即可。 然后就是在这个电容表格中输入数据 双击他 输入一些相关库的属性。然后保存退出即可

实验一-ACCESS数据库及表的操作

实验一数据库及表的操作 实验类型:验证性实验课时: 6 学时指导教师: 时间:2013 年月日课次:第节教学周次:第周 实验分室:实验台号:实验员: 一、实验目的 1.掌握数据库的创建及其它简单操作 2.熟练掌握数据表建立、数据表维护、数据表的操作 二、实验内容与要求 1.数据库的创建、打开、关闭 2.数据表的创建:建立表结构、设置字段属性、建立表之间关系、数据的输入 3.数据表维护:打开表、关闭表、调整表外观、修改表结构、编辑表内容 4.数据表的操作:查找替换数据、排序记录、筛选记录 三、实验步骤 案例一:创建数据库 1.创建空数据库 要求:建立“教学管理.accdb”数据库,并将建好的数据库文件保存在“E:\实验一”文件夹中。 操作步骤: 图1-1创建教学管理数据库 (1)在Access 2010启动窗口中,在中间窗格的上方,单击“空数据库”,在右侧窗格的文件名文本框中,给出一个默认的文件名“Database1.accdb”。把它修改为“教学管理”如图1-1所示。 (2)单击按钮,在打开的“新建数据库”对话框中,选择数据库的保存位置,在“E\实验一”文件夹中,单击“确定”按钮,如图1-2所示。 (3)这时返回到access启动界面,显示将要创建的数据库的名称和保存位置,如果用户未提供文件扩展名,access将自动添加上。 (4)在右侧窗格下面,单击“创建”命令按钮,如图1-1所示。 (5)这时开始创建空白数据库,自动创建了一个名称为表1的数据表,并以数据表视图方式打开这

个表1,如图1-3所示。 图1-2“文件新建数据库”对话框 (6)这时光标将位于“添加新字段”列中的第一个空单元格中,现在就可以输入添加数据,或者从另一数据源粘贴数据。 图1-3表1的数据表视图 2.使用模板创建Web数据库 要求:利用模板创建“联系人Web数据库.accdb”数据库,保存在“E:\实验一”文件夹中。 操作步骤: (1)启动Access。 (2)在启动窗口中的模板类别窗格中,双击样本模板,打开“可用模板”窗格,可以看到Access提供的12个可用模板分成两组。一组是Web数据库模板,另一组是传统数据库模板——罗斯文数据库。Web 数据库是Access2010新增的功能。这一组Web数据库模板可以让新老用户比较快地掌握Web数据库的创建,如图1-4所示 (3)选中“联系人Web数据库”,则自动生成一个文件名“联系人Web数据库.accdb”,保存位置在默认Window系统所安装时确定的“我的文档”中显示在右侧的窗格中,参见图1-3所示当然用户可以自己指定文件名和文件保存的位置,如果要更改文件名,直接在文件名文本框中输入新的文件名,如要更改数据库的保存位置,单击“浏览”按钮,再打开的“文件新建数据库”对话框中,选择数据库的保存位置。

Access上机操作题——查询操作说课材料

Access上机操作题之七 ——使用查询向导创建查询㈠ 在“教学”数据库中的“学生”、“课程”、“成绩”三张表中,完成下列操作: 1、建立表间关系: 根据“学生”表和“成绩”表中“学号”字段建立关系;根据“成绩”表和“课程”表中的“编号”字段建立关系;保存已建立的关系。 2、简单查询的创建: ⑴单表查询: 使用简单查询向导,对“学生”表创建一个名为“学生单表简单查询”,只要显示“学生,姓名,性别,出生日期,地址”等字段。 ⑵多表查询: 使用简单查询向导,对“学生”、“课程”、“成绩”表创建一个名为“学生多表简单查询”的简单查询,只要显示“学号,姓名,入学成绩,课程,成绩”等字段。 3、交叉表查询: 使用交叉表查询向导创建一个基于“学生”、“课程”、“成绩”三张表名为“学生成绩交叉查询”的查询。 ⑴若以上三张表没建立关系,则建立它们之间的关系。 ⑵建立一个包含“学生”表中“姓名”,“课程”表中“课程”,“成绩”表中“成绩”字段的简单查询。 ⑶按照书中P56—58页的②—⑤步操作。 4、重复项查询: ⑴使用重复项查询向导,在“学生”表中,查找入学成绩相同的学生。此查询命名为“入学成绩相同学生查询” ⑵使用重复项查询向导,在“学生”表中,查找出生日期相同的学生。此查询命名为“出生日期相同学生查询”。 ⑶使用重复项查询向导,在上面已建立的“学生多表选择查询”中,查找“计算机应用基础”分数相同的学生。此查询命名为“计算机应用基础分数相同查询”。 5、查找不匹配项查询: 使用查找不匹配项查询,在“学生”和“成绩”表中,查找没有成绩的学生。此查询命名为“缺考学生查询”。

Access上机操作题之八 ——使用查询向导创建查询㈡ 在“职工基本情况”数据库中的“职工”、“职工家属”、“职工工资”三张表中,完成下列操作: 1、建立表间关系: 根据“职工”表、“职工家属”和“职工工资”三张数据表中的“职工号”字段建立他们之间的关系,并保存其建立的关系。 2、简单查询的创建: ⑴单表查询: ①使用简单查询向导,对“职工”表创建一个名为“职工工作业绩单表简单查询”,只要显示“职工号,姓名,工作业绩”等字段。 ②使用简单查询向导,对“职工家属”表创建一个名为“职工爱人单表简单查询”,只显示“职工号”和“爱人姓名”字段。 ③使用简单查询向导,对“职工工资”数据表创建一个名为“职工奖金单表简单查询”,显示“职工号,奖金,保险”等字段。 ⑵多表查询: ①使用简单查询向导,创建一个基于“职工”和“职工家属”数据表,名为“职工子女多表查询”,显示“职工号,姓名,婚否,子女”等字段。 ②使用简单查询向导,创建一个基本“职工”和“职工工资”数据表,名为“职工收入多表查询”,显示“职工号,姓名,基本工资,奖金,保险”等字段。 ③使用简单查询向导,创建一个基本“职工”、“职工家属”和“职工工资”三张数据表,名为“职工情况多表查询”,显示“职工号,职工姓名,爱人姓名,子女,基本工资”等字段。 3、交叉表查询: 使用交叉表查询向导创建一个基于“职工”、“职工工资类别”、“职工工资汇总表”三张表名为“职工工资交叉查询”的查询。 ⑴根据“职工”和“职工工资汇总表”的“职工号”字段,和“职工工资类别”和“职工工资汇总表”的“编号”字段,建立以上三张数据表之间的关系。 ⑵建立一个名为“职工工资汇总查询”的简单查询,包含“职工”表中“职工号、姓名”,“职工工资类别”表中“工资类别”,“职工工资汇总表”表中“金额”字段的简单查询。 ⑶根据已建立的“职工工资汇总查询”,创建一个以“姓名”字段为行标题,“工资类别”为列标题,对每位职工工资情况进行汇总的交叉表查询,并将其命名为“职工工资交叉查询”。 4、重复项查询: ⑴使用重复项查询向导,在“职工”数据表中,查找工作业绩相同的职工。此查询命名为“工作业绩相同查询” ⑵使用重复项查询向导,在“职工工资”表中,查找基本工资相同的职工。此查询命名为“基本工资相同查询”。 ⑶使用重复项查询向导,在上面已建立的“职工工资汇总查询”中,查找“奖金”相同的职工。此查询命名为“奖金相同的职工查询”。 5、查找不匹配项查询: 使用查找不匹配项查询,在“职工”和“职工工资”表中,查找两张数据表中不匹配项的职工。此查询命名为“职工不匹配项查询”。

网页数据如何简单导出excel

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

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

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

Access上机操作题——宏的创建与设计

Access上机操作题之三十二 ——宏的创建与设计㈠ 一、认识Access中的宏: ●宏的定义: 宏是一种以动作为单位的特殊代码,是由一连串动作组成的操作序列的集合,用来自动完成特定任务的操作或操作集。 ●动作的构成: 宏中的每个动作是由其动作名及其参数构成。如,Openform(动作名)表示打开指定的窗体。 ●宏、宏组与条件操作宏: ⑴宏:是一个操作序列的集合。 ⑵宏组:是多个操作序列的集合,即宏的集合。 ⑶条件操作宏:是带有条件的操作序列。 ●宏的功能: ⑴打开、关闭表单、报表,打印报表,执行查询。 ⑵移动窗口,改变窗口大小。 ⑶模拟键盘动作,为对话框或其他等待输入的任务提供字符串输入的功能。 ⑷显示信息框,响铃警告。 ⑸数据的导入、导出。 ⑹执行任意的应用程序模块。 ⑺为控件的属性赋值。 ●宏的设计视图窗口: 宏的设计视图用于宏的创建、编辑与测试,其窗口分为上下两个部分,上半部分为宏设计窗口,下半部分为宏参数的操作窗口。 1、宏设计窗口:一般包含宏名、条件、操作、注释等四个部分组成,其中“宏名”和“条件”两个部分经常被隐藏,可通过工具栏中的“宏名”和“条件”两个按钮显示出来。 ⑴宏名:是为所创建的宏命名。 ⑵条件:设置当前宏的运行条件。 ⑶操作:包含待执行的宏指令。 ⑷注释:为每一个操作提供注释说明,以帮助用户记忆宏的作用。 2、操作参数:是为当前宏指令设置相关的操作参数。当你选定“操作”栏中的宏指令时,就可在“操作参数”区中设置操作参数值。例如: ⑴当前选定的是“操作”栏中的“OpenForm”项,表示打开一个窗体或报表。 ⑵窗体名称:学生——表示打开的是“学生”窗体。 ⑶视图:窗体——表示在“窗体”视图方式下打开该窗体。 ⑷数据模式:只读——表示用户的操作权限为“只读”。 ⑸窗口模式:普通——表示窗口的显示方式为“普通”模式。

易语言数据库教程之ACCESS数据库全操作

易语言数据库教程之ACCESS数据库 前面我们已经对比分析过易语言所支持的几种常见数据库,在这几种数据库中,我们先来学习一个ACCESS数据库,当然,MSSQL数据库是完全一样的。 数据库的学习可以说非常的简单,也可以说很不简单,这要看你的出发点来定,当然,前面所学习的易语言基础同样很重要! 和前面所有的教程一样,所讲的内容部分来源我的课堂教学,面对的是高中学生,有些地方的讲解会非常的详细,而有些地方又会相对简单的一笔带过,如果有什么地方你理解起来有困难的话,请与我联系,呵呵! 本教程并不是要把易语言中对ACCESS数据库的所有操作和应用都讲一遍,都讲清楚,那是不可能的,这一点倒是有点遗憾,但我会尽我所能把一些必需的内容讲清楚! 一、准备工作 1、ACCESS的安装参见Microsoft Office2003安装图解教程 2、ACCESS数据库中数据表的建立 3、易语言ACCESS数据库控件介绍 二、数据库操作 1、易语言ACCESS数据库的连接及打开 2、易语言ACCESS数据库的读操作 3、易语言ACCESS数据库的读操作问题解决 4、易语言ACCESS数据库的高级打开操作 5、易语言ACCESS数据库的写操作 6、易语言ACCESS数据库记录的简单修改 7、易语言ACCESS数据库记录的高级修改 三、数据库与高级表格

1、易语言ACCESS数据库与高级表格一 ACCESS数据库中数据表的建立 在ACCESS中建立一个数据库及在数据库中建立数据库其实是非常简单的。 1、新建数据库,这就不用多说了,在“文件”菜单下第一个就是“新建”,它的快捷键是“Ctrl+N”,和大多数软件完全一样。 2、新建的数据库第一步操作就是要保存,这也不用多说了,相信大家都会的。 3、新建数据表,新建的数据库如下图,是一个表都没有,新建一个数据表的方法有很多,这里我们选择“使用设计器创建表”,如下图所示。 3、这里我们以建立一个学生成绩表为例进行操作,随便写了一些字段在里面,注意一下字段的类型,有些是“自动编号”,有些是“文本”,有些是“数字”,根据需要来,最后别忘记给“id”这个字段设置为“主键”。

Access数据库上机练习加答案解析

全国计算机等级考试二级上机题库I 第1套题目 一、基本操作题 请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下: 注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。 考生文件夹下存在一个数据库文件“samp1.mdb”,里面已经设计好表对象“tStud”。请按照以下要求,完成对表的修改: (1)设置数据表显示的字体大小为14、行高为18。 (2)设置“简历”字段的设计说明为“自上大学起的简历信息”。 (3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。 (4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。 (5)将隐藏的“党员否”字段重新显示出来。 (6)完成上述操作后,将“备注”字段删除。 二、简单应用题 请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下: 注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。 考生文件夹下存在一个数据库文件“samp2.mdb”,里面已经设计好三个关联表对象“tStud”、“tCourse”、“tScore”和一个临时表对象“tTemp”。试按以下要求完成设计: (1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。 (2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。 (3)创建一个查询,查找有先修课程的课程相关信息,输出其“课程名”和“学分”两个字段内容,所建查询命名为“qT3”。 (4)创建删除查询,将表对象“tTemp”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。 三、综合应用题 请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下: 注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。 考生文件夹下存在一个数据库文件“samp3.mdb”,里面已经设计好窗体对象“fStaff”。试在此基础上按照以下要求补充窗体设计: (1)在窗体的窗体页眉节区位置添加一个标签控件,其名称为“bTitle”,标题显示为“员工信息输出”。 (2)在主体节区位置添加一个选项组控件,将其命名为“opt”,选项组标签显示内容为“性别”,名称为“bopt”。 (3)在选项组内放置二个单选按钮控件,选项按钮分别命名为“opt1”和“opt2”,选项按钮标签显示内容分别为“男”和“女”,名称分别为“bopt1”和“bopt2”。 (4)在窗体页脚节区位置添加两个命令按钮,分别命名为“bOk”和“bQuit”,按钮标题分别为“确定”和“退出”。 (5)将窗体标题设置为“员工信息输出”。 注意:不允许修改窗体对象“fStaff”中已设置好的属性。 第2套题目 一、基本操作题 请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下: 注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。 在考生文件夹下,存在一个数据库文件“samp1.mdb”。在数据库文件中已经建立了一个表对象“学生基本情况”。试按以下操作要求,完成各种操作: 1.将“学生基本情况”表名称更改为“tStud”。 2.设置“身份ID”字段为主键;并设置“身份ID”字段的相应属性,使该字段在数据表视图中的显示标题为“身份证”。 3.将“姓名”字段设置为有重复索引。 4.在“家长身份证号”和“语文”两字段间增加一个字段,名称为“电话”,类型为文本型,大小为12。 5.将新增“电话”字段的输入掩码设置为“010-********”形式。其中,“010-”部分自动输出,后八位为0到9的数字显示。 6.在数据表视图中将隐藏的“编号”字段重新显示出来。

access数据库创建

简介 mdb格式的数据库是一种关系数据库。MDB View 可以在没有安装 Microsoft Access情况下进行阅读MDB数据库文件。 MDB是MDB/ ICP协议(Multi-Drop Bus/Internal Communication Protocol)的简称,它是欧洲售货机制造者协会制定的一套用于协调自动售货系统的主控制器(VMC)与多个外设之间通信的协议。标准首先是由Coinco在美国可口可乐公司的指定下开发的。这个标准于1993年被NAMA协会采用;经过一个专门的工作组修订后,于1994年被EVMMA采用。第二阶段的非现金交易标准由Debitek代表NAMA开发,并于1994年被NAMA采用;EVMMA加入了一些兼容的指令后于1994年采用。MD B接口实际上是工作于9600波特率的主从型串行总线接口,所用外围设备(例如投币器、纸币器、读卡器等)均为主控制器(售货机控制器-VMC)的从机。所有外围设备与VMC之间的通信方式都一致使用方法 最近,网络管理员在服务器上分给我一块空间,用来展示一些资料。为了方便大家在网络上查询,便作了一个简单的ASP查询系统,其中所链接的是MDB格式的Access数据库,而在建网之前,资料是用Excel表格软件来汇总的,格式为XLS,能不能把XLS文件转换为MDB 格式呢?首先想到的是在Excel中将表格文件另存为MDB格式,但在“保存文件类型”中却没有数据库MDB格式。那么用Access是否可以打开XLS呢?结果虽然可以打开,但建立的却是一个链接到表格上的数据库,离开所链接的表格文件就不能打开了,并不是真正的MDB数据库!难道XLS格式与MDB格式就不能转换了?经过一番摸索,终于找到了解决之道,方法是:一、打开Access数据库软件,在弹出的窗口内,选择“新建数据库”中的“空Access数据库”,然后在“文件新建数据库”窗口内设置数据库文件名,这里我输入“DJMessage”作为数据库名。 二、点击“文件”菜单下的“获取外部数据”中的“导入...”,在打开的“导入”窗口内,先将“文件类型”选择为“MicrosoftExcel(?.xls)”,在“查找范围”内选择XLS文件的存放路径,然后选中要转换的XLS文件,点“导入”,打开“导入数据向导”窗口,根据这个向导,一步步地完成数据的导入,具体步骤如下: 第一步、工作表选择:从显示的工作表中,选择要存放数据的工作表(如图1)。第二步、标题设置:在Excel中,一般会在表格的第一行中设置列标题,在这一步中,根据XLS表的不同,设置表格第一行是否包含列标题,如果第一行为列标题,则要选中“第一行包含列标题”,如果表格内有多行列标题,则要在导入数据之前将这些列标题目删除,否则,标题就会当做数据导入到数据库中。 第三步、数据保存设置:这一步按默认的设置,选择数据的保存位置为“新表中”。第四步、字段设置:如果在第二步中勾选了“第一行包含列标题”,则在“字段名”中显示 的是列标题,否则在“字段名”中显示的是“字段1”、“字段2”等名称。只要在“字段名”中重新输入新的名称即可设置该列的字段名(如图2)。 第五步、主键设置:设置主键一方面避免数据的重复,另一方面还可以加快数据查询速度,而我要建立的数据库是配合ASP网页查询用的,当然更要设置主键了,这里选择的是“用Access添加主键”默认设置。 第六步、表名设置:在“导入到表”下建立一个表名,将数据导入到这个表中,我输入的

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接 Edited by Ryan 2013 1、建立Access数据库 2、启动VB,建立标准EXE 图1 3、添加ActiveX控件 鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面 图2

图3 选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件 图4

4、添加控件Adodc 图5 4、在控件Adodc上添加数据源 鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面 图6

图7 单击“生成(U). . .”,弹出如图8所示界面 图8 选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面

图9 单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示 图10 单击“测试连接(T)”,出现提示框,如图11所示 图11 之后点击“确定”,退回到如图12所示界面

图12 单击“记录源”,弹出如图13所示界面 图13 在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click() ‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open ‘打开数据库 rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1

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