【发布时间】:2011-06-29 21:39:56
【问题描述】:
我需要用一些数据 MYSQL 数据库生成一个 Microsoft 项目文件。由于我正在编写的应用程序是一个 PHP 应用程序,有没有一种方法可以创建一个 Microsoft 项目文件,就像我们使用一些库将数据导出到 excel 文件一样。任何帮助将不胜感激。
【问题讨论】:
标签: php ms-project
我需要用一些数据 MYSQL 数据库生成一个 Microsoft 项目文件。由于我正在编写的应用程序是一个 PHP 应用程序,有没有一种方法可以创建一个 Microsoft 项目文件,就像我们使用一些库将数据导出到 excel 文件一样。任何帮助将不胜感激。
【问题讨论】:
标签: php ms-project
您可以使用MPXJ 创建可供 Microsoft Project 读取的 MPX 或 MSPDI 文件。您可以使用 PHP/Java Bridge 直接从 PHP 执行此操作。
乔恩
附言免责声明:我维护 MPXJ。
【讨论】:
是的,这是一个 example from MSDN,它显示了如何从 Excel 导入。
【讨论】:
我可以告诉你如何通过 C# 和 Microsoft.Office.Interop.MSProject.dll 来实现。
示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using Microsoft.Office.Interop.MSProject;
using System.Data;
namespace ConsoleApplication2
{
public static class ProjectHelper
{
public static void CreateProject(string projectName, DataSet mySqlData)
{
ApplicationClass msProjectApp = new ApplicationClass();
msProjectApp.AppMaximize();
msProjectApp.FileNew(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Project project = msProjectApp.ActiveProject;
// Process the dataset and add tasks ... etc
// Assume you are reading from the dataset
Task task = project.Tasks.Add("test1", 1);
Task task2 = project.Tasks.Add("test2", 2);
task.Start = "22/10/2009";
task.Finish = "25/10/2009";
task.Text1 = "some test";
msProjectApp.GanttBarFormat(task.ID, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.MSProject.PjColor.pjGreen, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
task2.Start = "23/10/2009";
task2.Finish = "24/03/2009";
task2.Text1 = "some test 2";
task2.Predecessors = task.ID.ToString();
}
}
}
【讨论】: