前不久,刚实习,遇到的项目是工程类的,其中要实现的功能是甘特图的导入和导出。到网上找了很久,没有好的解决方案,就自己做了一个。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Microsoft.Office.Interop.MSProject;
using System.IO;
using com.jwsoft.pm.data;
using Microsoft.Office;
public partial class projectImport : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 导入数据
/// </summary>
/// <param name="fileName"></param>
private void GetIMP(string fileName)
{
DataTable dt = new DataTable();
dt.Columns.Add("选择", Type.GetType("System.Boolean"));
dt.Columns.Add("wbs", Type.GetType("System.String"));
dt.Columns.Add("taskcode", Type.GetType("System.String"));
dt.Columns.Add("任务名称", Type.GetType("System.String"));
//dt.Columns.Add("优先级", Type.GetType("System.String"));task.Priority,
dt.Columns.Add("开始时间", Type.GetType("System.DateTime"));
dt.Columns.Add("结束时间", Type.GetType("System.DateTime"));
dt.Columns.Add("完成百分比", Type.GetType("System.String"));
//dt.Columns.Add("是否完成", Type.GetType("System.String"));task.ActualFinish,
dt.Columns.Add("前置任务", Type.GetType("System.String"));
dt.Columns.Add("孩子个数", Type.GetType("System.Int32"));
dt.Columns.Add("父节点", Type.GetType("System.String"));
try
{
Microsoft.Office.Interop.MSProject.ApplicationClass prj = new ApplicationClass();
string filename = fileName;
prj.FileOpen(filename, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing