连接outlook
在草稿箱生成邮件
using Microsoft.Office.Interop.Outlook;
public void CreateMail()
{
var body = new StringBuilder();
body.AppendLine("");
MailItem mailItem = (MailItem)_application.CreateItem(OlItemType.olMailItem);
mailItem.To = ".com";
mailItem.CC = ".com";
mailItem.Subject = "[]";
mailItem.Body = body.ToString();
mailItem.Save();
}
读取指定路径下指定名称邮件
#region "属性定义"
private Microsoft.Office.Interop.Outlook.Application _application;
private MAPIFolder _inbox;
private MAPIFolder _inboxUp;
#endregion
#region "邮件路径"
public MailLib()
{
_application = new Microsoft.Office.Interop.Outlook.Application();
_nameSpace = _application.GetNamespace("MAPI");
_inbox = _nameSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
_inboxUp = _inbox.Parent as MAPIFolder;
}
#endregion
#region "获取邮件内容"
public String GetMail()
{
String mail = null;
Items delayMails = _logBox.Items.Restrict("[Subject]=''") as Items;
foreach (MailItem item in delayMails)
{
if (item.ReceivedTime.ToString("YYYY-MM-DD") == DateTime.Now.ToString("YYYY-MM-DD")) mail = item.Body;
}
return mail;
}
#endregion
创建excel 并批量写入内容
复制粘贴Excel
#region "创建Excel(复制粘贴基础模板的情况)"
public void CreateExcel()
{
ExcelApp = new Excel.Application();
String createName = DateTime.Now.ToString("yyyyMMdd");
if (!File.Exists(@"C:Users" + Environment.UserName + createName)) {
// createExcel
var wrkbook = ExcelApp.Workbooks.Open(@"C:Users" + Environment.UserName + @"YYYYMMDD.xlsx");
wrkbook.SaveAs(@"C:Users" + Environment.UserName + @"" + createName);
wrkbook.Close();
}
#endregion
在Excel里批量写入内容
#region "方法一 调用剪贴板"
public void writeExcel()
{
// getExcel
ExcelApp = new Excel.Application();
String writeName= DateTime.Now.ToString("yyyyMMdd");
var wrkbook2 = ExcelApp.Workbooks.Open(@"C:Users"+ Environment.UserName + @"" + writeName);
Excel.Worksheet mysheet = (Excel.Worksheet)wrkbook2.Worksheets["sheet1"];
mysheet.Activate();
//writeExcel
Clipboard.SetText(GetMail());
mysheet.Cells[2, 2].PasteSpecial();
wrkbook2.Save();
wrkbook2.Close();
ExcelApp.Quit();
Console.WriteLine("OK");
}
#endregion
#region "方法二 将字符串变成二维数组"
public void writeExcel()
{
// getExcel
ExcelApp = new Excel.Application();
String writeName= DateTime.Now.ToString("yyyyMMdd");
var wrkbook2 = ExcelApp.Workbooks.Open(@"C:Users"+ Environment.UserName + @"" + writeName);
Excel.Worksheet mysheet = (Excel.Worksheet)wrkbook2.Worksheets["sheet1"];
mysheet.Activate();
//writeExcel
string[] sArray = GetMail().Split(' ');
string[,] sArray2 = new string[sArray.Length, 1];
for (int i = 0; i < sArray.Length; i++)
{
dataArray[i, 0] = sArray[i];
}
mysheet.Range[mysheet.Cells[2, 2], mysheet.Cells[sArray.Length + 2, 2]].Value2 = dataArray;
wrkbook2.Save();
wrkbook2.Close();
ExcelApp.Quit();
Console.WriteLine("OK");
}
#endregion