日期:2014-05-17  浏览次数:20723 次

请教,c#查询Excel数据库包含字符
请教,c#查询Excel数据库包含字符

我的数据库是 Excel ,现在想用 C#写个代码查询 表中的 包含字段

例如

表 book1

name beizhu
张三 123456
李四 abcdef
小五 555
aus 2
kiu 2
李二 asdfdsf

现在,我想,查询 name 中的 包含 ‘李’字的人名,给查询出来。

select * from book1 where name like '%李%'
但是,这个数据库是Excel 使用 like根本没有用。

请教,各位帮忙,写个代码。谢谢了。

------解决方案--------------------
sheet 的名称是 book1?

select * from $sheetName where name like '%李%'

------解决方案--------------------
创建示例 Excel 工作表
启动 Microsoft Excel,然后创建一个新的工作表。 
将以下信息添加到新工作表中以创建一个简单的 Excel 数据库:
A B 
1 FirstName LastName 
2 Scott Bishop 
3 Katie Jordan 
注意:虽然在本示例中数据是从单元格 A1 开始的,但是您可以将此数据添加到工作表中的任何相邻接的单元格。 
突出显示此数据所在的行和列。 
在插入菜单上,指向名称,然后单击定义。 
在“当前工作簿中的名称”文本框中,键入 myRange1,然后单击确定。 
在文件菜单上,单击保存。在“保存位置”列表中,选择 Web 服务器的根目录(通常为 C:\InetPub\Wwwroot\)。在“文件名”文本框中,键入 ExcelData.xls。单击确定。 
在文件菜单上,单击退出。
返回页首

使用 Visual C# .NET 创建 ASP.NET 示例
此代码示例说明如何查询和显示 Excel 工作表中的信息。以下代码使用您在上一节中创建的工作表。 
打开 Microsoft Visual Studio .NET。此时将显示 Visual Studio .NET 集成开发环境 (IDE)。 
在文件菜单上,指向新建,然后单击项目。 
在新建项目对话框的项目类型下面,单击 Visual C# 项目。在模板下面,单击 ASP.NET Web 应用程序。 
在新建项目对话框中,找到名称和位置文本框。注意,名称文本框不可用(它显示为灰色)。位置文本框包含以下文本(或类似的文本): 
http://localhost/WebApplication1 

将位置文本框中的文本替换为 http://localhost/ExcelCSTest,然后单击确定。此时将创建一个新项目,其中包括一个名为 WebForm1.aspx 的 Web 窗体。 
在 Visual Studio .NET IDE 中,找到“解决方案资源管理器”窗口。如果找不到该窗口,请单击视图菜单上的解决方案资源管理器。 
在解决方案资源管理器中,右键单击 WebForm1.aspx,然后单击视图设计器以显示用于设计页面外观的设计器。可以使用该设计器,添加控件并处理页面的外观。 
查找工具箱。根据您的“IDE 选项”设置,工具箱可能以窗口或按钮的形式出现(通常出现在 IDE 的左侧)。如果找不到工具箱,请单击视图菜单上的工具箱。

如果工具箱以按钮的形式出现,将指针移动到该按钮上以显示工具箱的内容。 
当 Web 窗体的设计器视图处于活动状态时,工具箱被划分为几部分,其中包括 Web 窗体、组件、HTML 和其他部分。单击 Web 窗体部分。 
在工具箱的 Web 窗体部分,单击 DataGrid,然后将其拖到 WebForm1 的设计器上。 
右键单击 WebForm1.aspx,然后单击查看代码以显示代码隐藏页的源代码。 
将下面的语句添加到代码隐藏页顶部的命名空间部分之上:
using System.Data.OleDb;
using System.Data;

突出显示以下代码,右键单击该代码,然后单击复制。在 WebForm1.aspx.cs 中,将这些代码复制到 Page_Load 事件中:
// Create connection string variable. Modify the "Data Source"
// parameter as appropriate for your environment.
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +
"Extended Properties=Excel 8.0;";

// Create connection object by using the preceding connection string.
OleDbConnection objConn = new OleDbConnection(sConnectionString);

// Open connection with the database.
objConn.Open();

// The code to follow uses a SQL SELECT command to display the data from the worksheet.

// Create new OleDbCommand to return data from worksheet.
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);

// Create new OleDbDataAdapter that is used to build a DataSet
// based on the preceding SQL SELECT statement.
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

// Pass the Select command to the adapter.
objAdapter1.SelectCommand = objCmdSelect;

// Create new DataSet to hold information from the worksheet.
DataSet objDataset1 = new DataSet();

// Fill the DataSet with the information from the worksheet.
objAdapter1.Fill(objDataset1, "XLData");

// Bind data to DataGrid control.
DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;
DataGrid1.DataBind();

// Clean up objects.
objConn.Close();

在文件菜单中,单击全部保存来保存项目文件。 
在生成菜单上,单击生成以生成项目。这就准备好了代码隐藏页中的代码,使之能够执行了。