PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_Sharp
[问题] 如何读这种格式的Excel进去SQL server
楼主:
azzc1031
(azzc1031)
2020-07-31 16:00:44
小弟数据分析师一枚
工作上常需要把散落各地的Excel读进SQL server
不过这次的格式实在太魔幻了,实在很头痛
如下:
https://i.imgur.com/Rk3ly4V.jpg
每颗主料号底下都有数量不一的子料号
一个Excel档的主料号有上千个
我要读的Excel档约有十来个
我的目标要存成这样:
https://i.imgur.com/WHtZKu8.jpg
目前我是写双for循环
外循环读a,b栏,内循环读b,c栏。
若外循环遇到A栏的string非”主料号”时,则continue。
进来内循环后
内循环初始值为Find.(“子料号”).row +1
只要遇到b栏为null值则break。
但我这样写会变成这三颗主料号都会带到
皮卡丘、杰尼龟、小火龙、妙蛙种子 这四颗子料号
因为系统默认 Find.(“子料号”).row 是第四列
所以内循环实际上只在row5~row8跑
是不是不用写那么复杂的双for循环?
有高手可以救救我吗QQ 感谢!!
作者:
james732
(好人超)
2020-07-31 16:05:00
不太懂你遇到的困难点是什么?看起来不至于无法处理
作者:
awwseed
(MOTO RIDER)
2020-07-31 16:14:00
看起来先用空白行当切割条件切出每个主料号切完出来的资料就有规律可以去拆解成两块了吧发现该 ROW A栏 = 主料号,就取B栏值为主料号再往下找 A栏 = 子料号描述 的 ROW + 1一直爬到结束逐行读 ROW 去处理应该也没啥问题,主料号之间都有空白行
作者:
testPtt
(测试)
2020-07-31 16:23:00
数据库正规化研究一下 不过我会直接用xml字段
楼主:
azzc1031
(azzc1031)
2020-07-31 17:28:00
/*我是原po*/ ,目前我是写双循环,外循环读a,b栏,内循环读b,c栏。if外循环遇到A栏的string非”主料号”时,则continue。进来内循环后,内循环初始值为”子料号”+1 row,只要遇到b栏为null值则break。但我这样写会变成这三颗主料号都会带到皮卡丘、杰尼龟、小火龙、妙蛙种子。是不是不用写那么复杂的双循环?
作者:
Nilife
(Al-Qaeda)
2020-07-31 17:30:00
双层while loop,第一层切出每笔料号,第二层处理各笔料号内容这样设计以后你每笔内容增加也比较好改
作者:
awwseed
(MOTO RIDER)
2020-07-31 18:49:00
https://i.imgur.com/AUoLDid.png
大概这样吧,不过 Skip 跟 Split 目前写死,视情况改囉
楼主:
azzc1031
(azzc1031)
2020-07-31 19:08:00
呜呜楼上太用心了,请受小弟一拜QQ 感谢!
作者:
awwseed
(MOTO RIDER)
2020-07-31 19:18:00
https://dotnetfiddle.net/6AlnIb
我有安装 LinqToExcel 套件就是
继续阅读
[问题] 远端连线执行cefsharp
falink
[问题] C# Windows Form 使用第三方控件
a901531456
[问题] listview该怎么新增底图?
liaommx
[问题] 制作像LabView图形化程式设计怎做?
popen
[问题] 如何判断目前是windows登入画面
asd51052000
[问题] C#有什么好用的script吗?
eye5002003
[问题] 请问光标移过去产生说明的框框怎么做?
ChenRobert
[问题] 封装后再安装,程式找不到档案
SUPERTR
[问题] textbox的排版问题.
liaommx
[问题] Linq 统整连续序号
wind681201
Links
booklink
Contact Us: admin [ a t ] ucptt.com