उदाहरण के लिए है एक ग्रिड व्यू में नियंत्रण को उन अक्षरों में परिवर्तित करता है जिन्हें फिर से तैयार किया जाता है।
/// <summary>
/// Parses and cleans up data from the GridView controls collection
/// to make the data more suitable for Exported
/// </summary>
/// <param name="gv">The GridView to parse</param>
private void CleanUpControls(Control gv)
{
Literal l = new Literal();
for (int i = 0; i < gv.Controls.Count; i++)
{
if (gv.Controls[i].GetType() == typeof (LinkButton))
{
l.Text = (gv.Controls[i] as LinkButton).Text;
ReplaceWithLiteral(gv, l, i);
}
else if (gv.Controls[i].GetType() == typeof (ListControl))
{
l.Text = (gv.Controls[i] as ListControl).SelectedItem.Text;
ReplaceWithLiteral(gv, l, i);
}
else if (gv.Controls[i].GetType() == typeof (CheckBox))
{
l.Text = (gv.Controls[i] as CheckBox).Checked ? "True" : "False";
ReplaceWithLiteral(gv, l, i);
}
else if (gv.Controls[i].GetType() == typeof (BooleanImage))
{
l.Text = (gv.Controls[i] as BooleanImage).Value ? "True" : "False";
ReplaceWithLiteral(gv, l, i);
}
else if (gv.Controls[i].GetType().ToString() == "System.Web.UI.WebControls.PagerTable")
ReplaceWithLiteral(gv, l, i);
else if (gv.Controls[i].GetType() == typeof (HyperLink))
{
HyperLink hl = gv.Controls[i] as HyperLink;
if (MakeHyperLinksAbsolute)
{
if (hl != null)
hl.NavigateUrl = UrlHelper.MakeAbsoluteUrl(hl.NavigateUrl);
}
switch (TreatHyperLinksAs)
{
case HyperLinkMode.Text:
l.Text = hl.Text;
ReplaceWithLiteral(gv, l, i);
break;
case HyperLinkMode.NavigateUrl:
if (hl != null) l.Text = hl.NavigateUrl;
ReplaceWithLiteral(gv, l, i);
break;
case HyperLinkMode.ToolTip:
l.Text = hl.ToolTip;
ReplaceWithLiteral(gv, l, i);
break;
case HyperLinkMode.TextAndLink:
l.Text = String.Format("{0} ({1})", hl.Text, hl.NavigateUrl);
ReplaceWithLiteral(gv, l, i);
break;
case HyperLinkMode.HyperLink:
break;
}
}
if (gv.Controls[i].HasControls())
CleanUpControls(gv.Controls[i]);
}
}
स्रोत
2009-07-20 15:22:16
एपीआई का उपयोग करने के लिए एक्सेल को सर्वर पर स्थापित करने की आवश्यकता है ... सही? –
मुझे विश्वास है कि यदि आप कार्यालय इंटरऑप का उपयोग कर रहे हैं। यदि आप xlsx फ़ाइलों (कार्यालय 2007 के) बनाते हैं, तो वे मूल रूप से ज़िपित XML फ़ाइलों का समूह होते हैं, ताकि आप उन्हें अपेक्षाकृत आसानी से बना सकें (सर्वोत्तम - लाइब्रेरी ढूंढें)। आप एक्सेल को कनेक्शन स्ट्रिंग और ओले डीबी के माध्यम से भी लिख सकते हैं। सबसे आसान तरीका, बीटीडब्ल्यू (फॉर्मेटिंग के बिना आप), एक सीएसवी फ़ाइल बनाने के लिए है। – Kobi
मैं सर्वर पर एक्सेल स्थापित नहीं कर सकता। मैं xlsx फ़ाइलों का उपयोग नहीं कर सकता क्योंकि इन्हें 2000 और 2003 के साथ संगत होना है। स्वरूपण आवश्यक है इसलिए मैं csv का उपयोग नहीं कर सकता। मुझे लगता है कि मैं ऊपर अपना दूसरा सुझाव आज़मा सकता हूं और मैं देखता हूं कि यह कैसे काम करता है। धन्यवाद! –