我一直按照以下链接将 MS Project 文件保存为 CSVhttps://support.microsoft.com/en-us/office/export-or-import-data-to-another-file-format-6e6e581f-a580-4f04-aa87-9b6552143d9c#:~:text=...
我一直按照以下链接将 MS Project 文件保存为 CSV
https://support.microsoft.com/en-us/office/export-or-import-data-to-another-file-format-6e6e581f-a580-4f04-aa87-9b6552143d9c#:~:text=选择%20File %20%3E%20将%20另存为。%20选择%20浏览。%20在%20中,%20导出的%20文件的%20名称%20。%20选择%20保存
使用现有任务导出图保存为 CSV
我面临的问题是生成 CSV 后,非英语数据被损坏,在 CSV 中显示为 \'????????\'
生成的 CSV 文件保存为 ANSI 编码,无法在导出向导中将其更改为 UTF 8
这些都是可以在 MS Project 上手动完成的步骤,我还用 DotNet 编写了 MSPPlugin,它以编程方式执行完全相同的步骤,我使用了以下 API 来执行相同的操作
https://learn.microsoft.com/en-us/office/vba/api/project.application.mapedit
https://learn.microsoft.com/en-us/office/vba/api/project.application.filesaveas
Dim g_projAppObj As MSProject.Application
g_projAppObj.MapEdit(Name:="Task Export Map", Create:=True, OverwriteExisting:=True,
DataCategory:=MSProject.PjDataCategories.pjMapTasks,
FieldName:="Task_UID", ExternalFieldName:="Task_UID",
CategoryEnabled:=True, TableName:="Task Export Map", ImportMethod:=0, HeaderRow:=True,
AssignmentData:=False, TextDelimiter:=",",
TextFileOrigin:=MSProject.PjTextFileOrigin.pjTextOriginUnicode,
UseHtmlTemplate:=False, IncludeImage:=False)
g_projAppObj.FileSaveAs(Name:=w_FileName, Format:=MSProject.PjFileFormat.pjCSV, Map:="Task Export Map")
获得与屏幕截图所示的相同的输出
注意:我有 MS Project 2019 Standard