2017-01-16 67 views
2

有Excel中的一個的方式,如果該行中的任何小區改變而不使用VB腳本並使用於行與標識符標記?如果在Excel中更改該行的任何單元格,如何在行中添加標識符?

這樣,解析excel時,我只能得到那些行已更改,然後我可以輕鬆地將這些已更改的行與數據庫中的值進行比較。

的原因,我需要做的,這是因爲:

  1. 這是一個批量導入和每張紙可以有50,000百萬行

  2. 數據的每一行中需要3-4個數據庫表

  3. 比較我不能添加VB腳本那些Excel表格,因爲Excel工作表通過相同的應用程序中導出。

或者還有其他方法可以有效地進行批量導入嗎?我正在使用Roo寶石,並已使用each_row_streaming方法。

+0

你的問題是什麼? – mudasobwa

+0

這仍然不是一個問題。 – mudasobwa

+0

我已經改寫過這個問題。 –

回答

1

Afaik不存在這樣的功能。即使在您使用VBA標記更改的行的情況下,您也會遇到驗證問題。讓我來解釋一下:

令A是一個不斷變化的數據,如果她不是這麼漂亮的小姐,她會讓她必要的修改,但反覆折騰的變化跡象,打破你的邏輯。爲什麼?因爲她可以。或者因爲它給了她商業優勢,或者......即使她很好,你現在怎麼樣 - 當然 - 沒有人忽視變化?

,我會說你的安全選項是永遠做一個完整的每個工作簿/行比較針對數據庫,以確保沒有任何變化悄無聲息。

計算每行的散列並將其存儲在數據庫的某處可能是明智的。這樣你只需要重新計算和比較哈希值。但是這取決於你的數據。

+0

那就是我在做什麼。此外,「她」在這裏非常好,是業主。如果有可能通過某種方式將某些東西放入行中來知道它已被更改? –

+0

也許什麼可以做,以加快速度是導出以前和CSV(或其他一些基於文本的格式)當前Excel和運行這些文件的diff程序。這可以給你一個更改行號的列表。 – pintxo

+0

標記爲已接受的答案,因爲尚未解決問題。 –

相關問題