D7中导入Excel表格到TStringList中显示出来,再插入数据库中,表中有大约1000多条数据,还有,Excel表格的样式是多表头,头有3-4层,在表格中间还有合并单元格的存在,就是说,在Excel表格中的第N行存在和下面或者左边、右边、上边的M个单元格都合并了,是一个大的单元格,像这样的表格要导入TStringList再插入数据库中,然后还要从数据库中取出来,按原样导出Excel,请问有什么很好的方法?速度不要求很快,但是不能在导入和导出时卡死机就行,这个问题比较头疼,大家来讨论下,谢谢!

解决方案 »

  1.   

    你的excel有点太复杂了
    不知道你在excel与数据表之间的对应关系是怎么建立的?
    这个对应关系很重要其次
    你的excel文件的内容格式是固定的吗?
    如哪些单元格是合并单元格
    如果这些不是固定的基本没办法做以上是我个人的看法
    希望对你有点帮助此外
    delphi操作excel有好几种途径
    一个是通过oleVariant变量
    一个则是通过ExcelApplication控件
    具体的你可以在网上搜一下
    会有不少相关资料的
      

  2.   

    Excel表格是固定的,没有变化,Excel的表头上的最下面一层的是和数据库中的某张表中字段一样
    如:
                  电量
         应抄电量         实抄电量
    本期指数 上期指数 本期指数 上期指数就像这样的表头,电量里只记录本期和上期的指数,应抄电量和实抄电量是算出来的。就这样的怎么做?单元格如:              电量
         应抄电量         实抄电量
    本期指数 上期指数 本期指数 上期指数
    100     50      10      5
    130     57      20      15
    .....
            60              60
    500     100     700     200
    200     50      100     40
    .....
    中间的那个500和700是合并过的,还有一种可能:              电量
         应抄电量         实抄电量
    本期指数 上期指数 本期指数 上期指数
    100     50      10      5
    130     57      20      15
    .....
    100     50              400
    200     150             300
    120     60      2000    500
    .......
    就是这种的,中间的第N行和上面两行都合并了,现在怎么做,谢谢!
      

  3.   

    用ole可以不,要不用ExcelQueryTable应该比较好用些!
      

  4.   

    我知道是用OLE或者是ExcelApplication这些控件能做到,我关键想知道的是那个循环导出表头的那几层循环,表头是固定的,我能搞定,但是关键是那个单元格的循环我不知道怎么办了,因为单元格和表头是不一样的,所以不知道怎么办。表头和单元格都是要循环出来的,还有``````很多三方控件也能导出Excel,但是都是只能导出单表头的,多表头就不行,所以,就只有自己写,如果有能导出多表头的控件那就很好办了。我最担心的是那个单元格的问题。
      

  5.   

    这里再说Delphi,用什么C#啊````晕