标签 Excel 下的文章

未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。 (System.Data)

SQLServer 2012导入Excel 2016数据到数据表报错:

未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。 (System.Data)

原因是没有安装Access数据引擎,Access数据引擎分32位和62位。考虑到本地是64位系统,开始安装64位的Access数据引擎,结果还是报错。卸载后安装32位后不再报错。因为SQL Server Management Studio(ssms.exe)这个工具是32位的,应该和这个位数关联。

附Access Data Engine下载地址:

64bit:

https://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_X64.exe

32bit:

https://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine.exe

恢复损坏的excel文件(xls)

我姐的同学的同事误删除了windows共享里面的excel文件。

尝试用easy recovery恢复,文件可以找到。但是打开后excel提示某些单元格数据已经损坏。用excel自带的修复没作用。

翻遍了整个网络找到了两个可以恢复破损excel文档的软件。

一个是 Recovery for Excel 还有一个Advanced Excel Repair。

Recovery for Excel 商业软件,demo版本可以恢复部分单元格,其他都已“Demo"文字代替。最便宜的standard版本卖价$149。尚未找到xx版,或许压根就没有。

Advanced Excel Repair 商业软件,提供试用。这个便宜点只要$89.95 ,最新版本1.4.1的Advanced Excel Repair(Excel修复工具)V1.4.0.1 绿色汉化版已经在中文网络上广为流传。因为版权原因这里不提供下载链接。请自行搜索。恢复的时候记得勾选“恢复完成后打开”,不然找不到恢复后的文件。

其他在中文网络上流传的Excel修复专家 Excel修复精灵都tm是木马病毒,还是基于Recovery for Excel修改的。

Excel VBA宏删除指定行/最后一样

有时候从网页表格中复制进excel里面,会有多余的表头信息和表尾信息,删除表头/表尾行的宏可以这么写:

Sub DeleteHeadAndTail()
'delete line 1,2,3
ActiveSheet.Range("1:1,2:2,3:3").Delete
'delete last line
Range("a65536").End(xlUp).Select
Selection.EntireRow.Delete
End Sub

Excel VBA宏批量字符串替换

某业务系统导出的excel包含了很多多余的标签(可能是系统功能错误吧)。

使用系统自带的替换功能需要输入待替换的字符串以及替换成的字符串,麻烦。所以写个macro,一个快捷键能够完成此操作。

Excel VBA宏批量字符串替换

按ALT+F11打开VB编辑器,在PERSONAL.XLS模块中写入如下代码如下:

SubReplaceATag()
ForEachcInActiveCell.CurrentRegion.Cells
IfInStr(c.Value,””)Thenc.Value = Replace(c.Value,””,””)
Next

EndSub

ALT+F8打开【宏】对话框点【编辑】PerSONAL.XLS!RepaceATag,弹出【不能在隐藏工作簿中编辑宏。请选定“取消窗口隐藏”命令以显示工作簿。】在Excel【窗口】菜单中选择【取消隐藏(U)...】就不会弹出警告,宏也可以编辑运行了。

Excel VBA宏批量字符串替换

按ALT+R就去掉了所有的字符串。以后打开新的excel,直接ALT+F8,选择PerSONAL.XLS!RepaceATag,然后ALT+R就运行选定的宏。 

参考: