|
ToDo:
|
ちょっと古いけど、立読みレヴェルでは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();
}
悲しくなるような記事ですが、なーんでこーなったのだろーかねぇー。
地域社会や近所付合いが防犯の一翼を担っていた時代はもう...って感じかも。
どーなんじゃろうか?>こめの国について少なくともヲレよりしっているカーコさん。
仕事PCの壁紙は日々変えているので、こーいったまとめは嬉しいっす。
倉庫番みたいなゲーム。面白いデスヨ。
面白い企画だと思います。ただ、世界遺産あまり見てないんですよねぇ。
もう少し早い時間帯での放送キボンヌ。
良質なコンテンツがなかなか良い時間に流れないっす。
面白いですけど、貰ったほうはちょっとバラすのが大変で迷惑かも。
うーん、独自言語ですカー。そこまでっては思っているが、要素技術として勉強はしておきたい。
Supported file formats include Zip, Tar-GZip, Tar-BZip2, Rar, 7-zip, LhA, StuffIt and many other more or less obscure formats
っつーことでMacに入れておこうと思う今日この頃。
080225_200756 posted by (C)ひかぞぉ
渋谷呑み。流石に恥ずかしくって写真撮る時にサッと終わらせたので、ブレています。(_ _;
前回手術と同じとの話でしたが、今回は尿道カテーテルも追加でした。
このカテーテルが一番ツラかった。
またも右手首から管をいれて今度は冠動脈までステントを2箇所入れて膨らませての手術でした。
麻酔はもちろんかかっているのですが身体の血管が膨らむのがわかります。その時はちょっと胸キュンで痛みます。
今回は時間もかかりましたのでカナーリ体力的にも辛い状態でした。これもう1回やるかと思うと凹みます。
_ yjdetsa [http://www.zimbio.com/Loans/articles/0oGquJUjTaQ/EASY+ONLI..]
_ eyagawu [http://www.zimbio.com/Loans/articles/0oGquJUjTaQ/EASY+ONLI..]
_ mvfwqjp [http://www.zimbio.com/Loans/articles/_buwFW7mE4s/PAYDAY+LE..]