使用C#程序全能操作Excel表格(无需Office,不使用XML)

不过话又说回来,对Excel的操作,方法多得很,有的还真不敢用,现在这个是在我的项目中使用着的,
【菜科解读】
其实我也清楚,这并不是全能,这样写标题也就是只有等待拍砖的份了。
不过话又说回来,对Excel的操作,方法多得很,有的还真不敢用,现在这个是在我的项目中使用着的,今天等放假(下班就开始放年假),总结总结。
我说的全能非所谓的全能也,只是我自己的功能已满足罢了。
话题未放正,正经一点。
有时候,Excel操作会成为我们程序员的痛处。
COM的方式处理?杀进程?需要安装Office?
No,nononono!这些都不想了。
我只要OleDb就够用了。
读取内容产生DataSet? 没问题!
创建Excel文件? 没问题!
在Excel文件中创建Sheet? 没问题!
我要取出Excel文件中的所有表名? 没问题!
我要以索引来操作Sheet,不是名字行不? 没问题!
导出的数据太多,要分开多个Sheet放,行不? 没问题!
我要再扩展,可不可以? 代码都给你了,你说呢?
代码总体功能如下:
调用的方式如下图:
测试数据如下图:
产生的文件:
分Sheet写入内容:
想下班了,直接给代码吧,有一些注释应该够了,就不再多说了。
记得记得开开心心过年!代码及详细说明:http://www.cnblogs.com/Leo_wl/archive/2012/01/27/2330291.html
使用,程序,全能,操作,Excel,表格,无需,OfficeWin11升级后如何使用Win10驱动?
软件支持 在线重装、U盘制作、自定义重装 等多种模式。
简介:大家好,今天我来和大家聊一聊一个很实用的话题——Win11升级后如何使用Win10驱动。
大家知道,Win11作为最新的操作系统,带来了很多新的功能和改进,但同时也面临着一些兼容性问题,特别是某些旧设备的驱动程序。
那么,我们应该如何解决这个问题呢?在本文中,我将通过一些实际案例,给大家分享一些解决办法,帮助大家在Win11升级后顺利使用Win10驱动。
工具原料:为了能够顺利使用Win10驱动,我们需要准备以下工具和原料:电脑型号:Dell XPS 15操作系统版本:Windows 11 21H2软件版本:Dell SupportAssist一、准备驱动备份在升级Win11之前,我们需要提前准备好所需的驱动备份。
具体操作方法如下:1、首先,打开设备管理器,找到你需要备份的设备。
2、右键点击该设备,在弹出的菜单中选择“属性”。
3、在属性窗口中,点击“驱动程序”选项卡,然后选择“驱动程序详细信息”。
4、在驱动程序详细信息窗口中,将“驱动程序文件”字段中的文件路径复制下来。
5、将复制的文件路径粘贴到资源管理器的地址栏中,即可找到所需的驱动文件。
通过备份驱动文件,我们可以避免在升级后出现驱动不兼容的问题,确保设备正常运行。
二、使用兼容模式安装驱动有时候,即使我们有Win10的驱动备份,也会遇到无法正常安装的情况。
这时,我们可以尝试使用兼容模式来安装驱动,方法如下:1、找到待安装的驱动文件,右键点击该文件,选择“属性”。
2、在属性窗口中,点击“兼容性”选项卡。
3、勾选“以兼容模式运行此程序”选项。
4、在下拉菜单中选择“Windows 10”作为兼容模式。
5、点击“应用”按钮,然后再点击“确定”按钮。
通过使用兼容模式,我们可以让Win11将驱动程序当作Win10驱动来安装,从而解决部分驱动不兼容的问题。
三、寻找替代驱动如果以上方法都无法解决驱动不兼容的问题,我们还可以尝试寻找替代驱动。
通常情况下,设备厂商会发布针对Win11的驱动更新,我们可以到其官方网站或者驱动下载站点上查找最新的驱动程序。
如果找不到官方驱动,我们也可以尝试使用第三方驱动程序。
在选择第三方驱动程序时,我们需要注意选择可信和稳定的来源,并确保它是专为Win11设计的。
总结:通过本文的介绍,我们可以了解到在Win11升级后如何使用Win10驱动。
我们可以通过备份驱动、使用兼容模式安装驱动,以及寻找替代驱动来解决驱动不兼容的问题。
希望这些方法对大家有所帮助,让大家可以顺利使用Win10驱动,享受升级带来的新功能和改进。
标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。
对于商业使用,请联系各自版权所有者,否则法律问题自行承担。
Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 Win11升级后如何使用Win10驱动? 分类于: 回答于:2023-11-03 简介:大家好,今天我来和大家聊一聊一个很实用的话题——Win11升级后如何使用Win10驱动。
大家知道,Win11作为最新的操作系统,带来了很多新的功能和改进,但同时也面临着一些兼容性问题,特别是某些旧设备的驱动程序。
那么,我们应该如何解决这个问题呢?在本文中,我将通过一些实际案例,给大家分享一些解决办法,帮助大家在Win11升级后顺利使用Win10驱动。
工具原料:为了能够顺利使用Win10驱动,我们需要准备以下工具和原料:电脑型号:Dell XPS 15操作系统版本:Windows 11 21H2软件版本:Dell SupportAssist一、准备驱动备份在升级Win11之前,我们需要提前准备好所需的驱动备份。
具体操作方法如下:1、首先,打开设备管理器,找到你需要备份的设备。
2、右键点击该设备,在弹出的菜单中选择“属性”。
3、在属性窗口中,点击“驱动程序”选项卡,然后选择“驱动程序详细信息”。
4、在驱动程序详细信息窗口中,将“驱动程序文件”字段中的文件路径复制下来。
5、将复制的文件路径粘贴到资源管理器的地址栏中,即可找到所需的驱动文件。
通过备份驱动文件,我们可以避免在升级后出现驱动不兼容的问题,确保设备正常运行。
二、使用兼容模式安装驱动有时候,即使我们有Win10的驱动备份,也会遇到无法正常安装的情况。
这时,我们可以尝试使用兼容模式来安装驱动,方法如下:1、找到待安装的驱动文件,右键点击该文件,选择“属性”。
2、在属性窗口中,点击“兼容性”选项卡。
3、勾选“以兼容模式运行此程序”选项。
4、在下拉菜单中选择“Windows 10”作为兼容模式。
5、点击“应用”按钮,然后再点击“确定”按钮。
通过使用兼容模式,我们可以让Win11将驱动程序当作Win10驱动来安装,从而解决部分驱动不兼容的问题。
三、寻找替代驱动如果以上方法都无法解决驱动不兼容的问题,我们还可以尝试寻找替代驱动。
通常情况下,设备厂商会发布针对Win11的驱动更新,我们可以到其官方网站或者驱动下载站点上查找最新的驱动程序。
如果找不到官方驱动,我们也可以尝试使用第三方驱动程序。
在选择第三方驱动程序时,我们需要注意选择可信和稳定的来源,并确保它是专为Win11设计的。
总结:通过本文的介绍,我们可以了解到在Win11升级后如何使用Win10驱动。
我们可以通过备份驱动、使用兼容模式安装驱动,以及寻找替代驱动来解决驱动不兼容的问题。
希望这些方法对大家有所帮助,让大家可以顺利使用Win10驱动,享受升级带来的新功能和改进。
菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。
WindowsPhone7开发中使用SQLCE数据库实例
存储在独立存储文件中,这个相信很多用都会使用,这里不作为重点,本文主要讲一下在WindowsPhone中使用数据库SQLCE。
下面开始一步一步的带领大家实现在WindowsPhone中使用SQLCE数据库。
(该示例引自WindowsPhone7应用开发)一、首先,我们需要创建一个EmployeeTable类,映射为数据库中的Employee表如下:在创建之前需要添加引用:System.Data.Linq;同时引入命名空间:usingSystem.Data.Linq.Mapping;123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778[Table]//特性标识该类为映射为数库中的表 //该类实现了INotifyPropertyChanged和INotifyPropertyChanging接口 public class EmployeeTable:INotifyPropertyChanged,INotifyPropertyChanging { private int _employeeId; //将EmployeeID映射为表的主键,特性Column里的含义分别为:主键,自增,int型不为空,不为空等 [Column(IsPrimaryKey = true, IsDbGenerated = true,DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int EmployeeID { get{ return _employeeId; } set{ if (_employeeId != value) { NotifyPropertyChanging("EmployeeID"); _employeeId = value; NotifyPropertyChanged("EmployeeID"); } } } private string _employeeName; [Column]//EmployeeName属性为表中EmployeeName字段 public string EmployeeName { get{ return _employeeName; } set{ if (_employeeName != value) { NotifyPropertyChanging("EmployeeName"); _employeeName = value; NotifyPropertyChanged("EmployeeName"); } } } private string _employeeDesc; [Column]//将EmployeeDesc属性映射为表中EmployeeDesc字段 public string EmployeeDesc { get{ return _employeeDesc; } set{ if (_employeeDesc != value) { NotifyPropertyChanging("EmployeeDesc"); _employeeDesc = value; NotifyPropertyChanged("EmployeeDesc"); } } } //定义PropertyChanged事件用来通知页面,表字段数据发生了改变 public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } //定义PropertyChanging事件通知数据上下文表的字段数据将要发生改变 public event PropertyChangingEventHandler PropertyChanging; private void NotifyPropertyChanging(string propertyname) { if (PropertyChanging != null) { PropertyChanging(this, new PropertyChangingEventArgs(propertyname)); } } }通过以上的这些操作,我们已经基本上完成了Employee表的创建,映射为数据库中的EmployeeTable表二、下面我们来新建一个EmployeeDataContext.cs类文件,创建数据库的DataContent,该类继承自DataContent,在该类中定义连接字符串,如下:首先需要引入命名空间:usingsystem.data.Linq;public class EmployeeDataContext:DataContext { //数据库连接字符串 public static string DBConnectionString = "Data Source=isostore:/Employee.sdf"; //传递数据库连接字符串到DataContext基类 public EmployeeDataContext(string connectionString):base(connectionString) { } //定义员工信息表 public Table Employees; }三、创建EmployeeCollection类,该类的主要作用为页面数据绑定的集合。
如下://绑定页面,进行显示用public class EmployeeCollection:INotifyPropertyChanged { //用于通知属性的改变 public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this,new PropertyChangedEventArgs (propertyName)); } } private ObservableCollection _employeeTables;//创建EmployeeTables属性用来绑定页面数据public ObservableCollection EmployeeTables { get{ return _employeeTables; } set{ if (_employeeTables != value) { _employeeTables = value; NotifyPropertyChanged("EmployeeTables"); } } } }四、这样一个完整的数据库就创建完毕了,那么我们该如何使用呢?一般的情况下我们都是在程序启动的时候加载数据库,为此我们可以在App.xaml文件的Launching事件中做如下处理:using (EmployeeDataContext db=new EmployeeDataContext(EmployeeDataContext.DBConnectionString)) { if (db.DatabaseExists() == false) { db.CreateDatabase(); } }五、下面做一个实例进行演示:页面布局如下: .cs页的处理代码如下:public partial class EmployeeShow : PhoneApplicationPage { //创建DataContext用于操作独立的数据库 private EmployeeDataContext employeeDB; private EmployeeCollection employeeCol = new EmployeeCollection(); public EmployeeShow() { InitializeComponent(); //创建EmployeeDataContext实例 employeeDB = new EmployeeDataContext(EmployeeDataContext.DBConnectionString); var employeeInDB = from EmployeeTable employee in employeeDB.Employees select employee; //为页面创建数据绑定源 employeeCol.EmployeeTables = new System.Collections.ObjectModel.ObservableCollection(employeeInDB); listBox1.ItemsSource = employeeCol.EmployeeTables; }//删除信息private void deleteButton_Click(object sender, RoutedEventArgs e) { var button = sender as Button; if (button != null) { EmployeeTable edelete = button.DataContext as EmployeeTable; // employeeCol.EmployeeTables.Remove(edelete); employeeDB.Employees.DeleteOnSubmit(edelete); employeeDB.SubmitChanges(); } }//保存信息private void button2_Click(object sender, RoutedEventArgs e) { if (txtname.Text != "" && txtdesc.Text != "") { //编辑状态 if (State.Count > 0 && State["employee"] != null) { EmployeeTable employee = (EmployeeTable)State["employee"]; employee.EmployeeName = txtname.Text; employee.EmployeeDesc = txtdesc.Text; employeeDB.SubmitChanges(); employeeCol.EmployeeTables.Add(employee); State["employee"] = null; } Else//添加新的信息 { EmployeeTable newEmployee = new EmployeeTable { EmployeeName = txtname.Text, EmployeeDesc = txtdesc.Text }; employeeCol.EmployeeTables.Add(newEmployee); employeeDB.Employees.InsertOnSubmit(newEmployee); employeeDB.SubmitChanges(); txtname.Text = ""; txtdesc.Text = ""; } listBox1.ItemsSource = employeeCol.EmployeeTables; } else{ MessageBox.Show("姓名和简介不能为空!"); } }//编辑信息private void editButton_Click(object sender, RoutedEventArgs e) { var button = sender as Button; if (button != null) { EmployeeTable eedit = button.DataContext as EmployeeTable; txtname.Text = eedit.EmployeeName; txtdesc.Text = eedit.EmployeeDesc; State["employee"] = eedit; employeeCol.EmployeeTables.Remove(eedit); } } }效果如图:好了,到这里我们已经基本上实现了在WindowsPhone手机中使用SQLCE数据库了,希望可以对朋友们有所帮助。
WindowsPhone7,开发,中,使用,SQLCE,数据