- 博客(77)
- 收藏
- 关注
原创 C#对比两个Excel尝试
对比的完整逻辑,占用3分钟左右,运行占用内存忽略不计。输出二维数组完整30MB。miniexcel 读取比较,openxml 循环写出。对比 两个124MB的Excel ,200+80S ,不超过5分钟,已经很厉害了。我用openxml 写了一下前面的 读取、比较逻辑,效率没有miniexcel高。代码就不贴了。
2026-04-18 10:30:29
502
原创 SQL优化: 变量 IS NULL
文章摘要:SQL Server存储过程中使用"OR @变量 IS NULL"条件会导致全表扫描,严重影响性能。原因是SQL优化器无法处理OR组合的动态条件,特别是涉及NULL判断时无法预估行数和使用索引。解决方案是将NULL参数预先转换为空字符串,消除IS NULL判断,使优化器能正确选择索引。关键结论:避免在WHERE条件中使用"OR @变量 IS NULL"写法,这是SQL Server中的性能杀手。
2026-04-18 10:27:44
167
原创 龙虾翻译DIY
工作中,避免不了文档翻译,特别是外企。但很多翻译工具不是很地道,特别有些行业术语。而搭建自己的翻译工具,又需要搭建大模型,成本高、技术门槛也高。这里记录使用WorkBuddy 巧妙、快速搭建翻译库的过程。
2026-04-01 17:36:25
902
原创 .NET8实现 文本生成摘要
这篇文章介绍了一个文件内容搜索小工具的开发思路,主要分为四个步骤:文本清洗、关键词提取、段落评分和摘要生成。作者使用盘古分词工具进行中文分词,并设计了一套停用词过滤机制,涵盖无意义词、办公场景通用词以及各类办公软件专有词汇。该工具旨在通过分析词频和段落评分,从Office、PDF等文档中提取关键句子生成精简摘要,以解决全文索引过大的问题。文中提供了核心代码片段和测试效果截图,展示了从Word文档中提取关键信息的实现过程。
2026-04-01 17:33:33
200
原创 SQL image转汉字乱码处理记录
有一个小case ,从其他项目数据中取一个字段。然后发现,那个本来是汉字的字段的存储格式是image1、解析成汉字2、前端显示、excel导出,出错。3、前端显示、excel导出 有乱码当然最后解决了,这里记录一下。
2026-03-26 17:21:36
355
原创 一分钟掌握WorkBuddy
workbuddy是腾讯开发的小龙虾,不仅能思考,还能帮你操作、办公。学习、测试了一个多星期,分享一下心得、好了。字虽少,但是字字珠玑。AI靠喂词涨见识。龙虾靠喂脚本 涨技能。要想好用,先要折腾。AI生成脚本,技能保存脚本,干活运行脚本。会生成技能,WorkBuddy就能真的帮你干活。
2026-03-26 17:16:43
1661
原创 OpenClaw小龙虾初体验【安装学习】
本文记录了尝试安装和使用三款AI助手工具的过程:OpenClaw、360安全龙虾和腾讯WorkBuddy。作者首先通过Docker安装OpenClaw时遇到版本和网络问题,最终未能成功运行。360安全龙虾因消耗算力豆过多而被放弃。重点体验了腾讯WorkBuddy,展示了其文件移动、应用分析和问题诊断功能,特别是快速完成任务和提供详细反馈的能力,相比其他工具更实用且资源消耗合理。整体反映了不同AI工具在实际使用中的体验差异。
2026-03-21 12:10:41
1144
原创 SQL PARTITION BY用法
本文介绍了SQL中PARTITION BY的实用技巧,通过与GROUP BY对比展示其优势。PARTITION BY能保留原表所有行并实现灵活计算,语法更简洁。文章演示了多种应用场景:1)多条件分组计数;2)结合聚合函数计算总和和占比;3)生成行号;4)通过ROW_NUMBER()实现优化计数。相比传统子查询方式,PARTITION BY使代码更清晰高效,特别适合需要保留明细数据的同时进行分组计算的场景。
2026-03-21 12:09:06
132
原创 反射处理EPPlus的NullReferenceException异常记录
摘要:在使用EPPlus 8.4.2读取Excel文件时遇到NullReferenceException异常,报错位置为package.Workbook.Worksheets。尝试通过反射获取Worksheets属性值绕过异常,但仍会出现反射引用错误。最终解决方案是改用MiniExcel库,因其处理大文件时性能优于EPPlus和NPOI。该问题可能由修改后缀的.xls文件引起,但出现概率较低。文中提供了两种代码实现方案,并指出EPPlus读取大文件时存在性能问题。
2026-03-10 15:51:13
177
原创 Visual Studio 2026安装体验
本文记录了VS2026的安装使用体验。作者下载了4MB在线安装包,选择企业版并安装Winform和.NET开发组件。安装后发现缺少桌面快捷方式,需手动在安装路径启动。通过分享的注册码成功激活。界面相比VS2022增加了圆角元素但取消了标题色彩,主题选项不够理想。性能方面,16GB内存电脑运行流畅,与VS2022相当,高配置需求可能来自AI功能。扩展和硬盘占用与VS2022相近。总结认为VS2026除了支持.NET10和AI外,在性能和界面上并无显著优势,升级必要性不大。
2026-03-10 15:49:47
619
1
原创 实现应用程序日志(二) 获取打开文件路径
本文介绍了在Framework4.72环境下获取应用文件路径的几种方法。主要包括:1)通过Windows最近打开记录匹配窗口标题获取文件路径;2)使用WMI查询进程命令行参数提取文件路径。对于Office应用如Word,需通过COM接口获取文档路径。文章提供了C#实现代码,包括从快捷方式解析目标路径、处理命令行参数等关键步骤,并封装了通用调用方法。特殊处理了文件名包含空格和重名文件的情况,为开发文件路径获取功能提供了实用参考方案。
2026-03-03 17:23:37
536
原创 实现应用程序日志(一) 监听窗口关闭
使用com组件,获取进程的句柄、ID。记录窗口的打开、关闭时间、使用时间。记录窗口的title、信息。窗口关闭时,触发写出事件。计时器实时捕获当前窗口。
2026-03-03 17:22:36
147
原创 H5超链接实现下载文件
本文总结了四种前端文件下载实现方式:1)常规超链接在当前页打开;2)通过target="_blank"或window.open在新页打开;3)使用download属性强制下载(但txt文件在Chrome中仍会直接打开);4)改进方案通过fetch获取文件blob数据,创建临时链接实现全类型文件下载,解决了H5环境无法使用uni.downloadFile的问题。最后推荐第四种方案,可兼容txt、doc、图片、PDF等多种文件格式下载。
2026-03-02 09:43:14
240
原创 后台程序(解决服务无法调用user32.dll)
写了个服务,使用user32.dll取监听窗口的打开和关闭,发布到 Windows服务里,无法执行,写了个日志跟进发现无法跳过GetForegroundWindow、GetWindowThreadProcessIdLog("_1");//正常写到记事本 if(hwnd == IntPtr . Zero) return;Log("_2");//执行不到。Log("_1");//正常写到记事本return;Log("_2");//执行不到。
2026-03-02 09:42:07
382
原创 兼顾模糊查询、多项查询_SqlServer存储过程
某查询页面,料号的Input 的输入方式格式有2:分别为多项、迷糊查,如果前端组装where挺容易,今天改到存储过程,记录一下。
2026-02-27 09:35:19
278
原创 bootstrap再体验之Select多选、DataPicker、分页、弹窗、table排序等
本文分享了使用Bootstrap构建后台管理界面的实践经验。作者选用Bootstrap模板替代常用的Vue3+Element Plus组合,重点实现了两个功能组件:1)通过bootstrap-datetimepicker插件完成日期范围选择功能,并实现日期联动校验;2)利用bootstrap-select插件实现美观的多选下拉框,解决了动态加载数据时的刷新问题。文章提供了完整的代码示例,包括HTML结构、CSS样式补充和JavaScript初始化逻辑,并展示了实际效果截图。作者在实现过程中发现Bootstr
2026-02-27 09:30:14
842
原创 SQL 优化IN 思考
本文对比了SQL Server中IN操作符的几种替代方法及性能表现。通过测试不同数据集和索引条件下的执行效率,发现UNION ALL和JOIN方法在多数情况下表现最优。文章详细展示了IN、OR、EXISTS、JOIN和UNION ALL的具体实现方式,并提供了存储过程优化实例。测试发现当IN参数为单个值时,JOIN方式比IN快一倍。最终结论指出:在有索引时各方法差异不大,但JOIN结合临时表是最推荐的优化方案,其效率层级为UNION ALL≈JOIN>EXISTS>IN>OR。优化选择需综
2026-02-26 14:42:36
1254
原创 C# GC内存回收的思考
最近干了一件事,把很大的文件整进内存里,再按要求处理了一遍,再保存。其中保存很占内存。16GB直接顶满。在释放内存时,发现GC.Collect()作用非常有限。反而EmptyWorkingSet能将十几个GB的内存释放出来。不禁纳闷,如果GC.Collect()都信不过,那么应该如何处理内存释放呢。// Native方法声明[DllImport//释放进程占用内存90% 的内存问题源于:对象生命周期过长、未释放非托管资源、大对象分配策略不当,是编程中GC面临的主要问题。
2026-02-26 14:40:22
951
原创 WinForm实现Loading 控件 记录(.Net8)
本文介绍了一个Windows窗体自定义加载动画控件的实现方法。通过使用PNG格式的透明背景图片和旋转动画,创建了一个LoadingControl控件类。该控件主要特性包括:1)支持自定义加载图片;2)可调节旋转速度;3)启用抗锯齿渲染提高显示质量;4)提供StartAnimating()和StopAnimating()方法控制动画启停。实现原理是通过Timer定时器不断更新旋转角度,并在OnPaint事件中使用Graphics的旋转变换方法绘制图片。调用时只需在窗体上添加该控件并设置图片属性即可实现美观的加
2026-02-26 10:05:37
667
原创 VS2022 Nuget共享尝试
摘要 本文介绍了如何修改NuGet默认包存储路径并实现多项目共享的方法。通过修改NuGet.Config配置文件,将全局包文件夹指向自定义路径(如D:\Nuget),并迁移原有包文件。在跨项目调用时,只需复制旧项目的PackageReference引用到新项目的csproj文件中,NuGet即可自动识别已存在的包文件,无需重复下载。这种方法既保留了NuGet的便利性,又解决了不同项目重复下载包的问题,实现了类似传统lib文件夹共享引用的效果。
2026-02-26 10:03:29
251
原创 uniapp 各种文件预览实现
文件预览功能开发总结 本文介绍了uniapp开发文件传输工具时实现文件预览功能的解决方案。针对webview在popup中出现的z-index遮挡和响应延迟问题,改用iframe自定义弹窗实现预览功能。为解决右键另存为的安全隐患,创新性地通过添加透明遮挡层来禁用保存操作,同时保留了预览功能。最终将方案重构为Preview.vue子组件,支持PDF、Word、Excel等多种文件格式的预览,其中Word使用mammoth库转换,Excel通过XLSX库处理。该方案在保证预览功能的同时有效防止了未审核文件的下载
2025-12-17 10:50:36
1169
原创 CSDN文章历史 草稿箱 草稿回退
我记得有这东西,太久没有忘记在哪了,问百度、查文章、看CSDNAPP . 找了半个小时 终于找到了。手残Ctrl+V 保存后,发现消失了80%内容。估计是我关键字不对。算了,还好退回来了,人麻了。只是,这藏得有点深啊。肝了一下午码了一篇文章,精益求精,修修改改,
2025-12-17 10:49:16
218
原创 Visual Studio 2026来临
VS 2026预览版发布,带来多项重要升级。作为微软最新IDE版本,2026深度集成Copilot AI助手,从扩展变为原生功能,提供代码建议和调试支持。性能方面针对大型项目和云开发优化,加入更严格的安全机制。新增量子计算模拟器等前沿工具支持,并改进了UI体验。目前处于Insider预览阶段,标配.NET 10,但可能存在稳定性问题。与稳定版VS 2022相比,2026在AI集成、性能优化和新技术支持方面有显著提升,适合追求前沿技术的开发者尝鲜。
2025-11-20 17:14:56
5482
3
原创 EXCEL(带图)转html【uni版】
之前写过一个bootstrap 版本的,但这次实现在APP上,就只有重写前端,后端也得变一变。思路用tab-bar 实现sheet的切换,兼容图片显示。难点是uni-table的后置渲染在v-html里并不上很顺利。
2025-10-28 14:06:21
329
原创 .NET 程序自动更新的回忆总结
本文探讨了程序自动更新的设计方案,重点解决版本控制、增量更新、多客户端兼容和安全验证等问题。核心设计包括:1)采用语义化版本规则和版本兼容性检查;2)通过差分算法实现增量更新减少下载量;3)针对不同客户端(WinForm/Web/跨平台)制定差异化更新方案;4)添加SHA256校验、代码签名等安全机制确保更新安全。文章还提供了C#实现示例,并指出32/64位客户端需分开处理,而APP更新存在特殊限制。整体方案兼顾性能、安全与用户体验,为开发者提供了一套完整的自动更新实现思路。
2025-10-14 12:02:05
1292
原创 .net8.0_webapi 生成二维码
本文介绍了在.NET Core中生成并存储二维码的实现方案。通过QRCoder.Core库创建二维码图片,保存到wwwroot目录并按日期分类存储。核心步骤包括:1)配置静态文件访问路径;2)创建QrCodeHelper类实现二维码生成功能,支持自定义内容和尺寸;3)自动创建目录结构并按时间命名文件;4)返回相对路径供前端调用。实现效果展示二维码生成成功,并能在指定目录找到保存的PNG文件,前端可通过API路径访问这些二维码图片。该方案完整实现了从生成到存储再到前端展示的全流程。
2025-10-14 12:01:08
359
原创 UniApp中Flex布局学习
UniApp Flex布局实用指南与避坑技巧 本文总结了UniApp中Flex布局的核心用法与常见问题: 基础用法:通过flex-direction、justify-content等属性控制布局方向和对齐方式,子元素通过flex值分配空间 典型问题: 子元素宽度异常时需设置min-width: 0 多行布局需同时启用flex-wrap和align-content ScrollView内需显式设置容器高度和overflow 实用技巧: 通过负边距实现间距兼容 伪元素填充解决最后一行对齐问题 媒体查询适配多端布
2025-10-13 10:39:57
643
原创 UniApp 实现双语功能
这篇文章介绍了在UniApp中实现双语功能(国际化)的详细步骤,主要使用vue-i18n库。内容包含:1)安装vue-i18n依赖;2)创建语言资源文件(英文、简体中文、繁体中文)和主配置文件;3)在VUE2和VUE3中配置i18n实例;4)页面中使用双语的方法和动态切换语言的实现;5)提供一个完整的实例代码,展示如何在实际项目中应用国际化功能。文章通过清晰的代码示例和配置说明,帮助开发者快速实现UniApp应用的多语言支持。
2025-10-13 10:38:01
487
原创 .NET自定义数据操作日志
本文介绍了一种高效的数据库操作日志记录方案,采用Vue3、.NET 8 WebAPI和SQL Server技术栈实现。方案通过创建日志配置表和日志记录表,结合系统视图获取表结构信息,在数据操作时自动检查配置并记录变更日志。相比传统触发器方式,该方案具有配置灵活、资源占用少的特点,支持选择性记录指定表和字段的变更情况,日志内容以JSON格式存储新旧数据,便于后续审计追踪。
2025-09-19 09:58:43
1326
原创 更新误差 之数据遗漏阀
记得以前有一次,更新了执行客户端。但没有同步数据表,造成逻辑一直查询不存在的表。那几天,客户一直反馈,做什么都很卡,我却找不到问题。直到远程服务器后,发现显示刷新确实很卡。一看CPU、和内存占用都很高。排查了很久,才醒悟数据库少了应该有的表。虽然,问题是小问题,但我想应该有一个阀门,来处理、提醒这种失误。
2025-09-19 09:57:04
446
原创 SQL优化分析学习
本文介绍了四种SQL分析指令,重点解析了STATISTICS PROFILE和SHOWPLAN_XML两种方式。STATISTICS PROFILE通过PhysicalOp字段展示实际执行方式,如哈希匹配、索引扫描等,并对比了不同操作的性能特点。SHOWPLAN_XML则以图形化方式直观显示资源占用情况。优化方向包括减少查询行数、避免全表扫描、优化索引等。两种方法数据一致但各有侧重,共同帮助提升查询效率。
2025-09-12 21:48:10
706
原创 IIS运行账户设置记录
本文介绍IIS站点更换运行账户以访问远程私密路径的操作步骤。首先需要将域账号(sys/apiuser)添加到本地管理员组,确保具有目标路径读写权限;然后在IIS管理器中修改站点运行账户为指定域账号;最后配置应用程序池,确保其身份验证设置为该域账号并启用32位应用程序支持。通过以上设置,即可实现IIS站点使用域账号访问远程私有文件资源。
2025-09-12 21:44:54
304
原创 Excel数据导出小记二: [大数据示例]
本文记录了在.NET 8.0环境下导出500MB Excel文件的优化方案。通过NPOI的SXSSFWorkbook实现流式导出,将流程分为数据查询和文件保存两个异步阶段:首先将DataReader数据写入内存中的workbook,然后异步保存到本地临时路径,最后移动到共享文件服务器。关键技术点包括:采用分页写入(每100万行新建Sheet)、批量缓冲(50条/次)优化内存,类型安全处理单元格数据,以及通过临时文件降低网络依赖。这种方案有效解决了大数据导出时的连接占用、网络传输和内存消耗问题。
2025-09-05 11:00:37
1002
原创 记录一个ts异常instance.type.__hmrId
文章摘要:Vue组件中出现instance.type.__hmrId报错,表现为无法读取null的type属性。通过删除空div标签、移除图标绑定或为BaseButton添加v-if="1 == 1"条件可解决该问题。这可能是HMR热更新时组件实例未正确初始化导致的,添加条件渲染可能让组件在正确时机创建。具体原因还需进一步分析Vue的HMR机制和组件初始化过程。
2025-09-03 08:56:35
193
原创 SQL优化:SQL模拟Split二维数组
本文介绍了一种将特定格式字符串转换为SQL查询的方法。需求是将"行号[A]查询条件[T]"格式的字符串(如11[A]'AA'[T]22[A]'BB')转换为UNION ALL连接的SQL查询。通过自定义函数F_OptimizeOr实现:使用循环截取字符串,交替处理[A]和[T]分隔符,构建出包含行号和查询条件的完整SQL语句。该方法解决了前端拼接SQL的安全性和长字符不稳定问题,同时确保查询结果与原始数据行号严格对应。核心思路是遍历字符串分割位置,按奇偶次分别处理查询条件和行号,最终生成
2025-08-27 14:43:25
212
原创 localstorage缓存优化事件
摘要:本文记录了一个Web表单数据加载的优化过程。最初因网络导致前置数据加载异常,作者尝试将数据存入localstorage(优化一),但存在数据同步问题;之后通过时间戳对比实现更新判断(优化二),仍不够理想;考虑使用SignalR/WebSocket实时推送(优化三),但多页面监听不现实;最终采用"被动检查+主动触发"方案(优化四),通过版本号对比实现低耗高效的数据同步。整个优化过程体现了从简单到复杂再到平衡的技术演进思路。
2025-08-27 14:34:13
517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅