2015-09-02 40 views
0

是否有一種方法可以通過使用腳本語言將具有大量列的特定視圖中的所有數據導出?使用腳本以.csv格式導出數據

我使用下面的代碼來提取視圖

Dim column As NotesViewColumn 
For n=0 To (view.ColumnCount-1) 
    Set column = view.Columns(n) 
    If n= (view.ColumnCount-1) Then 
     titles=titles+column.Title 
    Else 
     titles=titles+column.Title+"," 
    End If 
Next 

的dinamically的冠軍,但我不知道豪取所有列值的數據,而不在「固定」之類的名稱的Fileds數據的代碼插入。 有可能嗎?

回答

1

我貼在我的博客上一些代碼,而回: http://blog.texasswede.com/export-notes-view-to-excel-with-multi-value-fields/

它顯示瞭如何將視圖導出既是HTML和CSV格式。

這裏是你的代碼是什麼樣子,如果你使用我貼在博客類:

Dim csv As CSVData 
Dim outfile As String 

Set csv = New CSVData("DominoServer/YourDomain", "names.nsf", "People\By Last Name") 
'*** Create CSV file from view 
outfile = "c:\ExportTest.csv" 
Open outfile For Output As #1 
ForAll row In csv.CSVArray() 
    Print #1, row 
End ForAll 
Close #1 

享受!

+0

在蓮花筆記6.5我不能使用「dim csv as csvdata」你有另外一種解決方案來導出視圖內容嗎?博客上的特權對我也有效「一些列包含多個值,但不包含所有文檔「 –

+0

您是否包含腳本庫?您是否閱讀過博客文章? –

+0

ops!我沒有包括圖書館!現在感謝它的工作! –

1

您可以使用NotesDocumentNotesViewEntry類的ColumnValues屬性。要使用前者,請使用GetFirstDocument()GetNextDocument()遍歷NotesView對象中的NotesDocument對象。要使用後者,請在NotesView類中使用CreateViewNav(或其中一種相關方法),然後通過GetFirst()和GetNext()遍歷NotesViewEntry對象。

+0

我使用NotesDocument的ColumnValues屬性。好的解決方案謝謝 –

+0

,但只有在我認爲我沒有多值字段的情況下,您的解決方案纔有效。如果我有一些列可以包含多值文件? –

+0

我使用暗淡multivaluefield作爲變 multivaluefield = doc.ColumnValues(N) 對於i = 0到UBOUND(multivaluefield) 記錄=記錄與{「}&multivaluefield(ⅰ) 接着 –