dt 是读取ACCESS表的 DataTablesheet.Cells[top + j,left + k] = dt.Rows[startRow + j][k+1].ToString();
好像是到了EXCEL中0开头的纯数字文本都没有0了,比如ACCESS中“00344”到了EXCEL中就是“344”,全部当作数字处理。

解决方案 »

  1.   

    将excel单元格设为字符格式:
      

  2.   

    生成EXCEL文件后确实可以,如何在动态生成EXCEL文件的时候设置呢?
      

  3.   

    sheet.Cells[top + j,left + k] = "'" + dt.Rows[startRow + j][k+1].ToString();
      

  4.   

    也就是楼上说的
    sheet.Cells[top + j,left + k] = "'"+dt.Rows[startRow + j][k+1].ToString();
    主要就是保存为文本格式,在excel中是头不显示"'",只有点进去才显示"'"
      

  5.   

    这样的方法从EXCEL里面再次读入SQL的时候又要进行转化,还要判断是否纯数字0开头,比较不方便。当然是可行的,我想知道有没有C#对EXCEL单元格的属性设置方法。一个小时后结贴。