|
ToDo:
|
お仕事が火祭りの予感。本日も終電まで。
T花鳥をプロジェクトマネイジャに据えることです。
本日、30台最後の日(といっても、終電近くまで働いて、モーニングを読みながら誕生日を迎えてしまった…)なので、なんか回顧的なものでも、って思ったけどもう眠いのでまた後日。
_ ひかぞぉ [相方、スマソン。マヂで間違えた。(_ _;]
_ ひかぞぉ [ローストポークまいうーでしたよ。ロバ耳さん。 ケーキは相方お手製のケーキでした。 ひかぞーが一人で殆どの苺を食べてし..]
_ ひかぞぉ [おほぉほぉほぉ、鬼です。カーコさん。 節目の誕生日ってヲレ的には当日は少しだけあったけど、次の日からはフツーな感じで..]
_ カーコさん [Fちゃん、恋愛の延長が結婚幻想とか持ってそうな気が・・・ #勝手な想像で失礼。 A瀬ショック、ってのもあったよね・・..]
_ ひかぞぉ [ふむ、Fちゃんはもう諦めの境地に達しているのかも。最近は合コンって言わなくなった。Aショック!うんうん、そーいえば、..]
ロードーショー。流石にバテてきた。
C#でコード書いていても、なんか未だにJavaのClassを書いてしまう…。
C#もコードアシストないとなーんにも書けないヲレですけどね。
ASP.NETってC#上で、JavaScriptのコード展開書いているので、ひじょーに面倒。
ひかぞーワンワンと写真撮影など。
仕事ではIeHttpHeader使っているです。
便利らしい。今はCVS使っているです。
windows.hもあるのだろうか?もしあれば使いたいのぉ。
Macも全然触ってない。
ちょっと古いけど、立読みレヴェルではOKっぽい。
Excel2003以降が対象です。XMLに吐き出せば、オートメーション使わなくっても大丈夫っぽい。
XmlDocument doc = new XmlDocument();
XmlDeclaration decl = doc.CreateXmlDeclaration("1.0","Shift_JIS","");
doc.AppendChild(decl);
XmlProcessingInstruction process = doc.CreateProcessingInstruction("mso-application","progid=\"Excel.Sheet\"");
doc.AppendChild(process);
XmlElement workbook = doc.CreateElement("Workbook");
workbook.SetAttribute("xmlns","urn:schemas-microsoft-com:office:spreadsheet");
workbook.SetAttribute("xmlns:o","urn:schemas-microsoft-com:office:office");
workbook.SetAttribute("xmlns:x","urn:schemas-microsoft-com:office:excel");
workbook.SetAttribute("xmlns:ss","urn:schemas-microsoft-com:office:spreadsheet");
workbook.SetAttribute("xmlns:html","http://www.w3.org/TR/REC-html40");
XmlElement styles = doc.CreateElement("Styles");
XmlElement style = doc.CreateElement("Style");
style.SetAttribute("ID","urn:schemas-microsoft-com:office:spreadsheet","Default");
style.SetAttribute("Name","urn:schemas-microsoft-com:office:spreadsheet","Normal");
XmlElement alignment = doc.CreateElement("Alignment");
alignment.SetAttribute("Vertical","urn:schemas-microsoft-com:office:spreadsheet","Center");
style.AppendChild(alignment);
style.AppendChild(doc.CreateElement("Borders"));
XmlElement font = doc.CreateElement("Font");
font.SetAttribute("FontName","urn:schemas-microsoft-com:office:spreadsheet","MS ゴシック");
font.SetAttribute("CharSet","urn:schemas-microsoft-com:office:excel","128");
font.SetAttribute("Family","urn:schemas-microsoft-com:office:excel","Modern");
font.SetAttribute("Size","urn:schemas-microsoft-com:office:spreadsheet","11");
font.SetAttribute("Color","urn:schemas-microsoft-com:office:spreadsheet","#FF0000");
style.AppendChild(font);
style.AppendChild(doc.CreateElement("Interior"));
style.AppendChild(doc.CreateElement("NumberFormat"));
style.AppendChild(doc.CreateElement("Protection"));
styles.AppendChild(style);
style = doc.CreateElement("Style");
style.SetAttribute("ID","urn:schemas-microsoft-com:office:spreadsheet","s21");
XmlElement numberFormat = doc.CreateElement("NumberFormat");
numberFormat.SetAttribute("Format","urn:schemas-microsoft-com:office:spreadsheet","@");
style.AppendChild(numberFormat);
styles.AppendChild(style);
workbook.AppendChild(styles);
XmlElement worksheet = doc.CreateElement("Worksheet");
worksheet.SetAttribute("Name","urn:schemas-microsoft-com:office:spreadsheet","Sheet1");
XmlElement table = doc.CreateElement("Table");
table.SetAttribute("ExpandedColumnCount","urn:schemas-microsoft-com:office:spreadsheet","3");
table.SetAttribute("ExpandedRowCount","urn:schemas-microsoft-com:office:spreadsheet","2");
table.SetAttribute("FullColumns","urn:schemas-microsoft-com:office:excel","1");
table.SetAttribute("FullRows","urn:schemas-microsoft-com:office:excel","1");
table.SetAttribute("StyleID","urn:schemas-microsoft-com:office:spreadsheet","s21");
table.SetAttribute("DefaultColumnWidth","urn:schemas-microsoft-com:office:spreadsheet","54");
table.SetAttribute("DefaultRowHeight","urn:schemas-microsoft-com:office:spreadsheet","13.5");
for(int i = 0 ; i < 2 ; i++)
{
XmlElement row = doc.CreateElement("Row");
row.SetAttribute("ss:AutoFitHeight","0");
for(int j = 0; j < 3 ; j++)
{
XmlElement cell = doc.CreateElement("Cell");
XmlElement data = doc.CreateElement("Data");
data.SetAttribute("Type","urn:schemas-microsoft-com:office:spreadsheet","String");
data.InnerText = "日本語値";
cell.AppendChild(data);
row.AppendChild(cell);
}
table.AppendChild(row);
}
worksheet.AppendChild(table);
workbook.AppendChild(worksheet);
doc.AppendChild(workbook);
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.ContentType="application/vnd.ms-excel";
string name = System.Web.HttpUtility.UrlEncode("ファイル名.xls");
Response.AddHeader("content-disposition","attachment;filename="+name);
doc.Save(Response.OutputStream);
Response.End();
因みにCSVとして吐き出すなら…
string str = "a,b,c\nd,e,f";
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.ContentType="application/vnd.ms-excel";
string name = System.Web.HttpUtility.UrlEncode("ファイル名.csv");
Response.AddHeader("content-disposition","attachment;filename="+name);
using (MemoryStream ms = new MemoryStream())
{
using(StreamWriter sw = new StreamWriter(ms,System.Text.Encoding.GetEncoding("Shift_JIS")))
{
sw.Write(str);
sw.Close();
}
Response.BinaryWrite(ms.ToArray());
Response.End();
ms.Close();
}
って言っても帰ってきたらもう3月だった(汗。
今月はほぼ毎日日付変更線を超えている。
ただただ忙しいだけの毎日で充実感がないな。
もちょっと余裕がほしいし、そもそも生贄若手の人員補充が必要な今日この頃なのでR.
_ ロバ耳 [なんと。不惑おめでとうございます。 「年齢計算に関する法律」によれば、誕生日の前日が…って、もうそれはいいか。 ht..]
_ ひかぞぉ [ロバ耳さん、どーも、ありがとうございます。 “年齢計算の法律”読みました。満了ってことは…うーん、よーわからんです。]
_ ロバ耳 [よく社保やなんかの法令で、「○歳に達する日の属する月の翌月」とかいう表現が出てきて分かりにくいのです。「達する日」っ..]
_ ひかぞぉ [ロバ耳さん、お疲れ様なのです。 うん、そーんな仕様書はちょっとイヤっすよね。わかり易い日本語で書いてもらえれば良いの..]