2014-10-30 72 views
0

我有一個Excel表中有用戶名和金額字段。當用戶和編號增加(按程序)時,我想向此表中添加額外的行。我正在開發一個應用程序使用django,excel文件將在本地機器上。Django 1.6添加行Øexcel表

我將使用workbook_open打開excel文件。由於在運行時將字段的用戶名和數量添加到表中,我無法繼續進一步操作。但是,我不能使用xlwt模塊來這樣做。任何人都可以建議我這樣做在django 1.6

+0

爲什麼不能使用** xwlt **?那麼使用xwlt(或任何其他庫)和** AJAX **的簡單函數怎麼樣?您通過** AJAX **發送參數以添加/刪除,並且您有一個使用xwlt更新文件的Python函數 – AlvaroAV 2014-10-30 11:25:34

+0

xlwt用於將數據寫入excel文件。我想通過使用django添加行(它是一個帶邊框的表格)來優化文件。你可以建議任何其他方式? – jack 2014-10-30 11:29:24

+0

我不明白你爲什麼需要另一種方式,你想要添加到文件中的是什麼? '你是什麼意思(這是一個帶邊框的桌子)'?你想添加數據到Excel文件和一些樣式?你不能解析你的HTML中的數據並將其添加到你的Excel中嗎? – AlvaroAV 2014-10-30 11:37:39

回答

1

最後我想出了在Excel表格中添加行(帶邊框)的解決方案。我使用win32com端口來完成任務。這裏是我的代碼:

import win32com.client as win32 

    exc = win32.gencache.EnsureDispatch("Excel.Application") 

    exc.Workbooks.Open("E:\\Invoice.xls") 



    exc.Visible = 1 

    row = 1 
    no=4 
    i=1 
    count=0 
    for m in Eng_name: 
     if(m!=""): 
      count=count+1 

    while True: 
     exc.Range("B%d" % row).Select() 
     data = exc.ActiveCell.FormulaR1C1 
     exc.Range("A%d" % row).Select() 
     condition = exc.ActiveCell.FormulaR1C1 


     if condition == INSERT_THIS: 
      if(i==count): 
       break 
      exc.Rows("%d" %(row)).Select() 
      exc.Selection.Insert(Shift=constants.xlDown) 
      i=i+1 
      print i 


     else: 

      row += 1