给你个网址,bbscsdnnet/topics/390824686 自己去看看。就是下面的内容:
ASPNET中Excel数据批量导入导出SQL Server
C# code
protected void btnUpload_Click(object sender, EventArgs e) { DataSet ds = GetExcelData(); InsertDB(ds); } /// <summary> /// 该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径,sheetname为表示那个Excel表,此用Sheet1; /// </summary> /// <param name="ds">ds</param> private void InsertDB(DataSet ds) { SqlConnection _con = new SqlConnection(@"Data Source=STKWX028\SQLEXPRESS;Initial Catalog=Library;Integrated Security=True"); SqlCommand cmd = new SqlCommand(); cmdConnection = _con; StringBuilder sb = new StringBuilder(); if (dsTables[0]RowsCount > 0) { for (int i = 0; i < dsTables[0]RowsCount; i++) { sbAppend(" INSERT INTO bookInfo(bookID,bookName,author,publisher,price,readerID,readerType,bookStatus) VALUES('"); sbAppend(dsTables[0]Rows[i]ItemArray[0]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[1]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[2]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[3]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[4]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[5]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[6]ToString() + "','"); sbAppend(dsTables[0]Rows[i]ItemArray[7]ToString() + "' ) "); cmdCommandText = sbToString(); } } _conOpen(); int j = cmdExecuteNonQuery(); _conClose(); if (j > 0) { lblMessageText = "Insert into DB table Sucessfully!"; } } /// <summary> /// get data source from excel file /// </summary> /// <returns>dataset ds</returns> private DataSet GetExcelData() { DataSet ds = new DataSet(); string filePath = inputFilePostedFileFileName; string connStr03 = "Provider=MicrosoftJetOLEDB40;Data Source=" + filePath + ";Extended Properties=Excel 80;"; ; string connStr07 = "Provider=MicrosoftACEOLEDB120;Data Source=" + filePath + ";Extended Properties='Excel 120;HDR=YES'"; string queryStr = "SELECT FROM [Sheet1$]"; OleDbConnection conn03 = new OleDbConnection(connStr03); OleDbConnection conn07 = new OleDbConnection(connStr07); if (inputFileHasFile) { string fileExt = SystemIOPathGetExtension(inputFileFileName); if (fileExt == "xls") { OleDbDataAdapter myAdapter = new OleDbDataAdapter(queryStr, conn03); myAdapterFill(ds); } else if (fileExt == "xlsx") { OleDbDataAdapter myAdapter = new OleDbDataAdapter(queryStr, conn03); myAdapterFill(ds); } else { lblMessageText = "The file is not exist!"; } } return ds; }
无论什么工作,都要用到数据提取技术。
很多原始数据都包含混杂信息,要从中提取中文、提取英文、提取数字、提取账号、提取括号内数据,不会公式就意味着大量重复繁琐的 *** 作。
下面结合案例展开讲解,没时间一气看完的同学,可以分享到朋友圈给自己备份一份。
一、提取中文
要求:从中英文姓名中提取中文姓名。
案例场景如下(右侧**区域输入公式)
=LEFT(A2,LENB(A2)-LEN(A2))
这样的好处是,一旦有了这个模板,无论原始数据怎么变,结果都可以自动提取出来。
二、提取英文
要求:从中英文姓名中提取英文姓名。
案例场景如下(右侧**区域输入公式)
=RIGHT(A2,2LEN(A2)-LENB(A2))
这个模板可以帮你提取英文信息。
三、提取数字
要求:从数字和文本混杂中提取数字。
案例场景如下(右侧**区域输入公式)
=-LOOKUP(0,-MID(A2,MIN(FIND(ROW($1:$9),A2&56^7)),ROW(INDIRECT('1:'&LEN(A2)))))
注意这是数组公式,需要同时按Ctrl+Shift+Enter三键输入。
即使原始数据变动,数字结果也可以自动更新。
四、提取账号
要求:从信箱地址中提取账号。
案例场景如下(右侧**区域输入公式)
=LEFT(A2,FIND('@',A2)-1)
首先,确保当前工作簿已经保存。若未保存,可以按下组合快捷键Ctrl+S进行保存。
其次,在单元格中输入公式=CELL("filename"),如下图所示
从步骤2中的公式结果可以看出当前单元格所在的工作表的名称“Sheet1"已经包含在公式的结果中了,如下图所示
在A2单元格中输入公式=MID(A1,FIND("]",A1)+1,256),既可以获得当前单元格所在的工作表的名称。如下图所示
5
以上步骤演示的是分步提取工作表名称的函数方法,若要只使用一个公式提取工作表的名称可以将以上步骤中的两个公式进行组合。即在单元格中输入以下公式
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,256)
如下所示:
6
以上公式可以使用在不同的工作表中,将获得任意的工作表的名称。
1、首先明确需求,表一中只有名字,缺少性别。
2、表二中有姓名和性别信息。此时要表一的第二列要获取表二的第二列信息。
3、将光标放在表一的B2单元格。
4、点击上方的“f(x)”插入函数。
5、找到VLOOKUP函数并点击下方的“确定”。
6、第一个参数为A2,即前面对应的姓名。
7、第二个参数为“sheet2”,即引用数据的表格。
8、第三参数为“2”,即表中的第二个数据。
9、最后一个参数为0,表示完全匹配。填写完毕后,点击下方的“确定”。
10、点击B2列右下角的十字,并向下拖至B6列。
11、现在对应的数据就引用过来了。就可以获取当前Excel表格所在的位置了。
获取excel表格中的列数据 *** 作说明:
1、分别设置三个条件区域,如C1:F2。
2、选中A1:A3535,“数据/筛选/高级筛选/将筛选结果复制到其他位置/条件区域/C1:C2/复制到/G1/确定”,即可获得全部6位字符,如**区域。
3、比照第2步 *** 作,可获得全部8位字符,如绿色区域。
4、比照第2步 *** 作,也可获得全部非6非8位字符,如红色区域。
B2单元格公式=IF(OR(C2={0,1}),LOOKUP(1,0/(C$2:C2=0),D$2:D2),LOOKUP(1,0/(C$2:C2=1),D$2:D2))
下拉。 如图:
你知道EXCEL怎样取另外一个表中的对应数据吗?下面来介绍一下方法。
方法
1/11
首先明确需求,表一中只有名字,缺少性别。
2/11
表二中有姓名和性别信息。此时要表一的第二列要获取表二的第二列信息。
3/11
将光标放在表一的B2单元格。
4/11
点击上方的“f(x)”插入函数。
5/11
找到VLOOKUP函数并点击下方的“确定”。
6/11
第一个参数为A2,即前面对应的姓名。
7/11
第二个参数为“sheet2”,即引用数据的表格。
8/11
第三参数为“2”,即表中的第二个数据。
9/11
最后一个参数为0,表示完全匹配。填写完毕后,点击下方的“确定”。
10/11
点击B2列右下角的十字,并向下拖至B6列。
11/11
现在对应的数据就引用过来了
2018Excel中从一个表中提取另外一个表的数据
开启分步阅读模式
*** 作方法
01
双击打开电脑中安装的Excel软件,进入主页面,如下图所示
02
打开表一个表格,这个表格里sheet1和sheet2都有内容,如下图所示,
03
我们要做的是在sheet1中 在d6单元格中查找销售人员5的销售金额,利用公式进行查找,
在d6单元格中单机fx插入函数,d出插入函数对话框,如下图所示,
04
我们选择第一个vlookup函数,然后单机确定按钮,进入函数参数对话框,如下图所示,
05
因为我们要查找销售人员5的销售额,所以在查找值中输入a6,如下图所示
06
在数据表中选择sheet2表格中的a列和b列,如下图所示,
07
在列序数中输入2,因为我们需要的是金额,所以选择第二列,匹配条件输入0,如下图所示,
08
单击确定按钮,金额就已经显示了,61,我们可以和sheet2对比一下,数据是完全一致的。如下图所示。
09
鼠标放在D6单元格中的右下角的地方,待鼠标图标改为实心的十字形时,往下拉动,其他销售员的销售金额,已经批量显示了,这样可以大大节省我们的时间
*** 作方法
01
首先我们新建一个Excel文件,并且输入一些数据。
02
同样在“sheet2”和“sheet3”中也输入一些数据。
03
一般我们引用其他单元格或者表格内的数据都是准备做一些计算,先看看同一张表格引用的实例,做一个简单的加法。
04
下面引用sheet2或者sheet3的数据看看。
05
实际上如果你看出上面的规律之后就知道,在引用的时候可以直接在编辑窗口内输入字符就可以实现,那么要是我改了表格名字会怎样呢?
*** 作方法2
01
不同的文件中数据也可以引用。我们再建立一个Excel文件并输入数据。
02
这个时候最好先把两个文件都打开。
03
同样在表格1中输入一个运算式,引用的方法仍然是点开文件选择单元格。
04
以上证明是可以引用的,那么我们把第二个表格关闭看看有什么变化。
05
上面的位置似乎对引用的文件位置有要求,那么我们删除这个文件看看数值有没有变化
以上就是关于如何读取excel中的数据全部的内容,包括:如何读取excel中的数据、excel获取数据的方式有哪些、如何获取excel的名称和excel里的单元格名称保存到excel里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)