升序/降序排列:点击成绩一列,点击多出的下拉按钮,然后点击升序按钮即可按成绩升序排列;如果点击降序按钮即可按成绩降序排列。
按颜色进行筛选:点击第一行中多出的下拉按钮,在弹出的框中选择按颜色筛选,假设筛选出黄色部分可以点击黄色即可。只能筛选出一中颜色不可以同时选择多种颜色进行筛选。
如何还原筛选前的状态:点击第一行中多出的下拉按钮,在弹出的框中勾选全选即可还原筛选前的状态。
按数字进行筛选:点击第一行中多出的下拉按钮,在弹出的框中选择按数字筛选,可根据我们实际需要选择按数字筛选底下的子选项。假设我们选择大于这个子项。
选择大于后会弹出一个设置按钮,输入我们筛选的大于的条件,假设设置为50。点击确认后,即可筛选出满足这个条件的所有数据。
这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下
假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.OleDb;using System.Configuration;using System.Data.SqlClient; namespace InExcelOutExcel{ public partial class ExcelToDB : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { FileSvr fileSvr = new FileSvr(); System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:UsersNewSpringDesktopDemoInExcelOutExcelInExcelOutExcelexcelExcelToDB.xlsx", "mapTable"); fileSvr.InsetData(dt); } } class FileSvr { /// summary /// Excel数据导入Datable /// /summary /// param name="fileUrl"/param /// param name="table"/param /// returns/returns public System.Data.DataTable GetExcelDatatable(string fileUrl, string table) { //office2007之前 仅支持.xls //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';"; //支持.xls和.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是标题,不是数据; const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; System.Data.DataTable dt = null; //建立连接 OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl)); try { //打开连接 if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed) { conn.Open(); } System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); //获取Excel的第一个Sheet名称 string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim(); //查询sheet中的数据 string strSql = "select * from [" + sheetName + "]"; OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn); DataSet ds = new DataSet(); da.Fill(ds, table); dt = ds.Tables[0]; return dt; } catch (Exception exc) { throw exc; } finally { conn.Close(); conn.Dispose(); } } /// summary /// 从System.Data.DataTable导入数据到数据库 /// /summary /// param name="dt"/param /// returns/returns public int InsetData(System.Data.DataTable dt) { int i = 0; string lng = ""; string lat = ""; string offsetLNG = ""; string offsetLAT = ""; foreach (DataRow dr in dt.Rows) { lng = dr["LNG"].ToString().Trim(); lat = dr["LAT"].ToString().Trim(); offsetLNG = dr["OFFSET_LNG"].ToString().Trim(); offsetLAT = dr["OFFSET_LAT"].ToString().Trim(); //sw = string.IsNullOrEmpty(sw) ? "null" : sw; //kr = string.IsNullOrEmpty(kr) ? "null" : kr; string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT); string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString(); SqlConnection sqlConnection = new SqlConnection(strConnection); try { // SqlConnection sqlConnection = new SqlConnection(strConnection); sqlConnection.Open(); SqlCommand sqlCmd = new SqlCommand图老师(); sqlCmd.CommandText = strSql; sqlCmd.Connection = sqlConnection; SqlDataReader sqlDataReader = sqlCmd.ExecuteReader(); i++; sqlDataReader.Close(); } catch (Exception ex) { throw ex; } finally { sqlConnection.Close(); } //if (opdb.ExcSQL(strSql)) // i++; } return i; } }} 运行结果:首先打开Excel2010,就会出现找不到macro1!$A$2问题
这是因为隐含在隐藏的名称中没有删除干净
在Excel界面上按Alt+F11,进入VBE窗口,在左边工程窗口中点选出问题的那个工作簿,然后插入一个模块
将如下代码复制到模块中:
Sub DisplayNames()
Dim Na As Name
For Each NTuLaoShi.coma In ThisWorkbook.Names
Na.Visible = True
Next
End Sub
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ejc/)然后点运行按钮运行宏代码,
回到EXCEL界面,选择公式--名称管理器
在跳出的窗口中就能看到隐藏的名称,把他删除就可以了。
如果我们要打印出一个Excel工作表,而这张表格有多页,如何让第一页以后的每一页都自动加上与第一页相同的表头呢?
可以这么做:单击文件菜单下的页面设置命令,弹出页面设置对话框;单击工作表选项卡,在打印标题下顶端标题行右边文本框中单击鼠标左键,出现闪烁光标后,在Excel表用鼠标左键选择表头所在行,最后选择确定即可。
这样,Excel就会自动为第一页后面的表格加上统一表头了。
我有一朋友,是做销售的。他利用Excel图表来记录每天的销售成绩。那天,他打来电话问了这样一个问题:用Excel来记录每天的销售非常的方便,能够直观地表示出每天的销售成绩,但是因为每天都有新的数据,所以我不得不每天手动更改图表来使其包含新的数据。有没有一种方法可以让我输入新的数据时,图表能自动更新。下面的方法将为他来解决这个问题。
在Excel 97及以后版本中,当选中一个图表数据系列时,工作表中与该数据系列对应的数据区域周围就会出现边框,这时可以通过简单地拖拽区域边框的角点来扩展数据区域。本文采用的方法是用公式来定义一个动态的数据范围以创建图表,从而实现在输入数据时图表能够自动更新,而不必手动更改数据区域的范围。
具体操作步骤如下:
1.输入数据并创建图表,如图1所示(下载练习用Excel工作簿)。
图1
2.选择菜单命令插入名称定义,打开定义名称对话框。在在当前工作薄中的名称下方输入框中输入日期,在引用位置下方输入框中输入公式=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1! $A:$A)-1),单击添加按钮来添加日期,如图2所示。
图2
注意:OFFSET函数中引用的是第一个数据点(单元格A2)并且用COUNTA函数来取得A列数据点的个数。因为A列中包含一个非数值数据日期,所以在公式中减去1。
3.在定义名称对话框继续定义名称。在在当前工作薄中的名称下方输入框中输入销售,在引用位置下方输入框中输入公式=OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1),单击添加按钮,如图3所示。然后单击确定按钮关闭对话框。
图3
4.激活图表并选中数据系列,可以看到在编辑栏中的未更改公式是这样的:=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$10,Sheet1!$B$2:$B$10,1),下面这一步很关键,我们要做一个替代,现将公式更改如下:=SERIES(,Sheet1!日期,Sheet1!销售,1),如图4所示。在更改后的公式中可以看到我们在第二步和第三步中定义的名称:日期和销售。
图4
做完以上工作,朋友的问题便得到了解决。当我们输入新数据时,图表会自动更新,赶紧试一下吧。如图5所示,加上了2月10日的销售,图表就自动更新了。最后需要注意的是,在使用OFFSET函数时,一定要将COUNTA函数指向第一个数值数据,如果指向了第一个非数值数据,那么自动更新就无从谈起了。
图5
如果您的Excel工作簿中运用了一些公式,又怕别人看不懂,可以在存在公式的单元格中插入批注,对公式进行必要的解释。批注是一种十分有用的提醒方式,不仅可以用来解释复杂的公式,也可以将对其它用户工作簿的反馈意见写在批注当中以方便互相交流。
在Excel中,我们可以先选中要插入批注的单元格,然后选择插入批注命令,这时就会在该单元格一侧出现批注框,可以直接在框中输入批注的内容,如图1所示。
图1 插入批注
创建了批注之后,可以随时改变批注的格式,方法是在包含批注的单元格(右上方有红色小三角的单元格)上单击右键,从弹出菜单中选择编辑批注,然后在批注框中选中要改变格式的内容,改变其格式,或者单击批注框的边缘选中整个批注,再改变其格式,例如改变字体、字号、文本颜色等。还有一种办法是在批注上单击右键,从弹出菜(m.tulaoshi.com)单中选择设置批注格式,打开如图2所示的对话框然后进行设置。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ejc/)图2
然而如果经常会用到单元格批注,又不希望使用默认的单元格批注格式,总不能一次次地手动更改吧。在Excel中没有提供改变默认单元格批注格式的途径,但有一种办法可以解决。其实,Excel中的单元格批注的格式与Windows系统的工具提示格式是完全相同的,了解了这一点,就好办了。
什么是Windows系统的工具提示呢?例如在Excel中,当我们将鼠标指针指向工具栏上的保存按钮上方时,就会出现如图3所示的黄底黑字的小提示框,告诉我们这是一个保存按钮,这就是工具提示。
图3
要改变工具提示的默认格式,需要打开显示属性对话框。可以双击控制面板中的显示将其打开,如图4所示。也可以在桌面上单击右键,然后从弹出菜单中选择属性将其打开。
图4
以Windows XP系统为例,当打开显示属性对话框后,单击上方的外观选项卡,然后单击右下方的高级按钮,如图5所示。
图5
在高级外观对话框中,在项目下方选择工具提示,然后就可以设置提示内容的字体、字号、文本颜色、粗体斜体以及提示框的背景颜色等属性了。
图6
注意:这一改变将会影响所有没有设置格式的批注,而对已经设置了格式的批注则没有影响。如果您已经为某些批注应用了其它格式,例如,改变了文本的颜色,上述改变将不会改变这些批注的格式。
当我们编辑过长或过宽的Excel工作表时,需要向下或向上滚动屏幕。这时表头也会相应滚动,不能在屏幕上显示,于是我们搞不清要编辑的数据对应于表头的哪一个信息。按下列方法可将表头锁定,使表头始终位于屏幕上的可视区域。
首先选定要锁定的表头,如果我们要将图中表头(1至3行)锁定,那么单击A4单元格,然后单击窗口菜单中的冻结拆分窗口命令,即可完成表头的冻结。假如还需锁定表格左侧第一列,那么单击第一列和第三行交叉处的右下方单元格B4,以下操作步骤同前所述。
被冻结的窗口部分会以黑线与区分开来。
如果要取消表头锁定,则单击窗口菜单中的撤消窗口冻结命令。