
引用dll文件,直接写?
还可以尝试,多线程!
恩,不错的想法,估计实现不了!
O(∩_∩)O哈哈~
using Excel;//需要引用你本地机器上的EXCEL文件,或者直接做成DLL!
ExcelApplication app= new ExcelApplication();
appVisible = true;//显示EXCEL
Workbook book1 = appWorkbooksAdd("??", TypeMissing);
Worksheet sheet1 = (Worksheet)book1Sheets[1];
Range rng1 = sheet1get_Range("A1:C3,E2:G6", TypeMissing); //设置 *** 作区域为个不连续区域
rng1NumberFormatLocal = "@"; //格式设置为文本
rng1FontBold = true; //是否加粗
rng1Value2 = "2006147214E00045"; //对 *** 作区域赋值
rng1FontColorIndex = "3"; //设置字体颜色
appDisplayAlerts = false; //不出现提示框
book1Save(); //保存
book1Close(TypeMissing, "??", TypeMissing);//关闭
appQuit();
下线划,属于格式问题,公式是无法提取的,需要用VBA写程序来提取。
前提你的Office版本是支持VBA的。如果是WPS个人版,是用不了VBA的。
方法:
第一步、
启用一张全新的工作表,把你需要提取的数据,整列复制到新表的A列中。
第二步、
按Alt+F11打开VBA编辑器,
按图上的箭头指示,
先点“插入”---“模块”,
在左侧的工程资源管理器中,双击模块,
在右侧的模块代码编辑区中,粘贴代码。
最后,点击画圆圈的那个按钮,运行代码,即可。
如果数据较多,就适当的等它运行一会,它提取完以后会d出提示的。
代码如下:
Sub 提取下划线内容()
Dim rng As Range, rg As Range, i%, Irow&, Istr$, k%
Irow = Range("A" & RowsCount)End(3)Row '获取A列的最大行号
For Each rng In Range("A1:A" & Irow) '遍历A列每一个有数据的单元格
For i = 1 To Len(rng) '遍历单元格中每一个字符
If rngCharacters(Start:=i, Length:=1)FontUnderline <> xlUnderlineStyleNone Then
Istr = Istr & Mid(rng, i, 1)
If i = Len(rng) Then k = 1
Else
If Istr <> "" Then k = 1
End If
If k = 1 Then '输出结果
Cells(rngRow, ColumnsCount)End(1)Offset(0, 1) = Istr
k = 0: Istr = "" '重置变量
End If
Next
Next
MsgBox "提取完毕", 64 'd出提示
End Sub
遍历数据区域,然后对比,下面是示例,因为你没说结果怎么处理,我只是把结果打印在立即窗口作为示例,你可以自行修改最终数据要处理的方式
Option ExplicitSub test()
Dim rng As Range
For Each rng In Sheet1[a1:a10] '这里选表格和区域
If IsDate(rngValue) Then
If Weekday(rngValue, vbMonday) = 7 Or Weekday(rngValue, vbMonday) = 6 Then
If Hour(rngValue) > 14 And Hour(rngValue) < 17 Then
DebugPrint rngValue
End If
End If
End If
Next rng
End Sub
假设你的数据库里的型号都放在你的T列里,按ALT+F11调出vba编辑器,双击左边工程管理器里的sheet1(sheet1),把下面的代码粘上就可以了,当你输的型号在T列找不到时,就会在F列显示该型号非法。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If TargetColumn = 5 Then
TargetOffset(0, 1)Clear
Set rng = Sheets(1)Range("t1:t" & RowsCount & "")Find(what:=TargetValue, lookat:=xlWhole)
If rng Is Nothing Then
TargetOffset(0, 1) = "非法型号"
End If
End If
End Sub
以上就是关于C# excel 快速写入数据全部的内容,包括:C# excel 快速写入数据、Excel 不带删除线的内容提取出来进行使用、vba 判断数据表里的时间是星期几等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)