рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп рдЦрд╛рдмрд░реЛрд╡рдЪреЗрдиред
рдореИрдВ рдПрдХ рд╢реБрд░реБрдЖрддреА SharePoint рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ, рдФрд░ рдЖрдЬ рдореИрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред SharePoint рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдкрд╛рд░реНрдЯ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдмрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдЧреНрд░рд╛рдлрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ Microsoft Excel рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреИрдЯ рдХреЗ рддрд╣рдд, рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди, рд╡реЗрдм рдкрд╛рд░реНрдЯ рдХреЛрдб рдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХред
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рдорд╛рдзрд╛рди
1. рдкреЗрдЬ рдкрд░ рд░реЗрдЦрд╛рдВрдХрдиред
рдпрд╣
рдПрдордПрд╕ рдЪрд╛рд░реНрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред рдПрдХрдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛: рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рд╕реНрддрдВрдн рдЧреНрд░рд╛рдл рдореЗрдВ рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдорд╛рди рд╣реИред
2. рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Office 2007/2010 .docx, .xlsx, pptx рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдУрдкрди XML рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреА рдпреЗ рдлрд╛рдЗрд▓реЗрдВ XML рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рд╣реИрдВред рдЬрд╝рд┐рдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ XML рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд▓реЗрдмрд▓ рд▓рд┐рдЦрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ред рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ 1.xml рдХреЛ рд╕реАрдзреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдлреАрд▓реНрдбреНрд╕ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдлреАрд▓реНрдбреНрд╕ рдХреЛ shareStrings.xml рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдЙрдирд╕реЗ рд▓рд┐рдВрдХ рд╢реАрдЯ1.xml рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдПрдХ
рдЕрджреНрднреБрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд┐рд▓реА рдЬреЛ рдПрдХ xlsx рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкрд╛рда рдорд╛рди рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИред
3. рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдл рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдмрд╕ рдПрдХ рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╕реНрд╡реАрд░ рдбрд╛рд▓рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХреНрд╕реЗрд▓ рдЪрд╛рд░реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Google рдиреЗ рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ - рдпрд╛ рддреЛ рдпрд╣ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рджреЗрдЦреА - рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЧреНрд░рд╛рдлрд╝ рдорд╛рди рд▓реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛, рддреЛ рдЧреНрд░рд╛рдл рдЕрдкрдиреЗ рдЖрдк рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдЕрдкрдиреЗ рдЖрдк рдЖрдпрд╛ - рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд┐рд░ рдЙрд╕ рдкрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд▓рд┐рдЦреЗрдВ, рдлрд┐рд░ XML рд╕рдВрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рддрд╛рд▓рд┐рдХрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдЖрдХрд╛рд░ рдХреЛрдб рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА)ред
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╛рдзрд╛рди
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЯреИрдмрд▓реЗрдЯ, рджреЛ рдмрдЯрди рдФрд░ рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рднрд╛рдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (рдпрд╣ рд╢реБрд░реВ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ)ред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдЯреЗрдмрд▓ рдХреЙрд▓рдо рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ ShowHeader рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
DataTable dt = new DataTable(); protected void Page_Load(object sender, EventArgs e) { for (int i = 0; i < 4;i++ ) dt.Columns.Add(); dt.Rows.Add(new string[] { " ", "", "", "" }); dt.Rows.Add(new string[] { "1", "17", "5", "8" }); dt.Rows.Add(new string[] { "2", "18", "4", "10" }); dt.Rows.Add(new string[] { "3", "15", "6", "9" }); dt.Rows.Add(new string[] { "4", "19", "7", "10" }); dt.Rows.Add(new string[] { "5", "13", "4", "7" }); GridView1.DataSource = dt; GridView1.DataBind(); GridView1.Width = 300; GridView1.ShowHeader = false; }
рдЕрдм рд╣рдо рдЧреНрд░рд╛рдл рдЦреАрдВрдЪрддреЗ рд╣реИрдВред рд╣рдо рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрдЯрд╛ 2 рдкрдВрдХреНрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП 1 рдХреЙрд▓рдо рдорд╛рди рд╣реИред
Series[] series = new Series[dt.Columns.Count - 1]; for (int i = 0; i < series.Length; i++) { series[i] = new Series(dt.Columns[i + 1].ColumnName); series[i].ChartType = SeriesChartType.Column; for (int k = 1; k < dt.Rows.Count; k++) series[i].Points.AddXY((double.Parse((string)dt.Rows[k][0])), double.Parse((string)dt.Rows[k][i + 1])); Chart1.Series.Add(series[i]); } ChartArea chartArea = new ChartArea(); chartArea.AxisX.Minimum = double.Parse(dt.Rows[1][0].ToString()); chartArea.AxisX.Maximum = double.Parse(dt.Rows[dt.Rows.Count - 1][0].ToString()); Chart1.ChartAreas.Add(chartArea); Chart1.Width = 300; Chart1.Visible = true;
рдЪрд▓реЛ рдирд┐рд░реНрдпрд╛рдд рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ (рдЪрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓) рд╣реИред рд╣рдо Excel рдореЗрдВ рдПрдХ рдирдИ рдХрд╛рд░реНрдпрдкреБрд╕реНрддрд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЧреНрд░рд╛рдлрд╝ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдмрдЪрд╛рдУ, рдмрдВрдж рдХрд░реЛред рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ xml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХреИрд╢реНрдб рдорд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ - рддреЛ рдЖрдк рдЕрдкрдиреЗ рдирдВрдмрд░ рдХреЛ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдзреЛрдЦрд╛ рджрд┐рдпрд╛ - рддреЛ рдореИрдВ рдмрд╕ рдЗрди рдирдВрдмрд░реЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реВрдВ)ред рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ Sharepoint рдиреЛрдб рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрдкрд░реНрдпреБрдХреНрдд
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд░реВрдк рджреЗ рд░рд╣реЗ рд╣реИрдВ - рдкрд╣рд▓реЗ рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ (рд╕реНрддрдВрдн рдирд╛рдо) рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдПрдВрдЧреЗред рд╣реИрд╢рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд╣реА рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
public static ArrayList CreateStringTables(DataTable data, out Hashtable lookupTable) { ArrayList stringTable = new ArrayList(); lookupTable = new Hashtable(); foreach (DataRow row in data.Rows) foreach (DataColumn column in data.Columns) if (column.DataType == typeof(string)) { string val = (string)row[column]; if (!lookupTable.Contains(val)) { lookupTable.Add(val, stringTable.Count); stringTable.Add(val); } } return stringTable; } public static void WriteStringTable(Stream output, ArrayList stringTable) { using (XmlTextWriter writer = new XmlTextWriter(output, Encoding.UTF8)) { writer.WriteStartDocument(true); writer.WriteRaw("<sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"" + stringTable.Count.ToString() + "\" uniqueCount=\"" + stringTable.Count.ToString() + "\">"); foreach (string str in stringTable) { writer.WriteRaw("<si><t>" + str + "</t></si>"); } writer.WriteRaw("</sst>"); } }
рдЕрдм рд╣рдо рдбреЗрдЯрд╛ рдЯреЗрдмрд▓ рдХреЛ xml-code рдореЗрдВ рдмрджрд▓ рджреЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рднреА рдбрд╛рд▓реЗрдВрдЧреЗред рд╣рдо рд╕рдм рдХреБрдЫ sheet1.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
public static void WriteWorksheetData(XmlTextWriter writer, DataTable dt, Hashtable lookupTable) { int rowsCount = dt.Rows.Count; int columnsCount = dt.Columns.Count; string relPos = RowIndexToName(0); writer.WriteRaw("<row r=\"" + relPos + "\" spans=\"1:" + columnsCount.ToString()+"\">"); for (int column = 0; column < columnsCount; column++) { relPos = RowColumnToPosition(0, column); writer.WriteRaw("<cr=\"" + relPos + "\" t=\"s\">"); string val = lookupTable[dt.Rows[0][column]].ToString(); writer.WriteRaw("<v>" + val + "</v>"); writer.WriteRaw("</c>"); } writer.WriteRaw("</row>"); for (int row = 1; row < rowsCount; row++) { relPos = RowIndexToName(row); writer.WriteRaw("<row r=\"" + relPos + "\" spans=\"1:" + columnsCount.ToString() + "\">"); for (int column = 0; column < columnsCount; column++) { relPos = RowColumnToPosition(row, column); writer.WriteRaw("<cr=\"" + relPos + "\">"); string val = dt.Rows[row][column].ToString(); writer.WriteRaw("<v>" + val + "</v>"); writer.WriteRaw("</c>"); } writer.WriteRaw("</row>"); } } public static void WriteWorksheet(Stream output, DataTable dt, Hashtable lookupTable) { using (XmlTextWriter writer = new XmlTextWriter(output, Encoding.UTF8)) { writer.WriteStartDocument(true); writer.WriteRaw("<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">"); string lastCell = RowColumnToPosition(dt.Rows.Count - 1, dt.Columns.Count - 1); writer.WriteRaw("<dimension ref=\"A1:" + lastCell + "\" />"); writer.WriteRaw("<sheetViews>"); writer.WriteRaw("<sheetView tabSelected=\"1\" workbookViewId=\"0\" />"); writer.WriteRaw("</sheetViews>"); writer.WriteRaw("<sheetFormatPr defaultRowHeight=\"15\" />"); writer.WriteRaw("<sheetData>"); WriteWorksheetData(writer, dt, lookupTable); writer.WriteRaw("</sheetData>"); writer.WriteRaw("<pageMargins left=\"0.7\" right=\"0.7\" top=\"0.75\" bottom=\"0.75\" header=\"0.3\" footer=\"0.3\" />"); writer.WriteRaw("<drawing r:id=\"rId1\" />"); writer.WriteRaw("</worksheet>"); } }
рдпрд╣ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╛рдВрдЪ рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрд▓рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдереЗ - рдореИрдВрдиреЗ рдкрд╛рдВрдЪ рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХреЗрд╡рд▓ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред
public static void FieldEdit(Stream xmlFile, int rowsCount, int columnsCount) { XmlDocument document = new XmlDocument(); document.Load(xmlFile); XmlNodeList xmlColumns = document.GetElementsByTagName("c:ser"); XmlNode xmlChart = xmlColumns[0].ParentNode; for (int i = xmlColumns.Count - 1; i > columnsCount - 2; i--) xmlColumns[i].ParentNode.RemoveChild(xmlColumns[i]); XmlNodeList xmlRows = document.GetElementsByTagName("c:f"); for (int i = 0; i < xmlRows.Count; i++) xmlRows[i].InnerText = xmlRows[i].InnerText.Replace("15", rowsCount.ToString()); MemoryStream ms = new MemoryStream(); document.Save(ms); xmlFile.SetLength(ms.Length); xmlFile.Position = 0; document.Save(xmlFile); ms.Close(); }
рдФрд░ рдЕрдм рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ рддреИрдпрд╛рд░ рд╣реИ! рд╣рдо рдЗрд╕реЗ HttpContext.Current.Response рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣реЗрдЬрдиреЗ / рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрддреЗ рд╣реИрдВред
public static void SendContent(byte[] fileContent, string outFileName) { HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader("Content-Type", "application/force-download"); HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", outFileName.Replace(" ", "_"))); HttpContext.Current.Response.AddHeader("Content-Length", fileContent.Length.ToString()); HttpContext.Current.Response.OutputStream.Write(fileContent, 0, fileContent.Length); HttpContext.Current.Response.OutputStream.Flush(); HttpContext.Current.Response.OutputStream.Close(); HttpContext.Current.Response.Flush(); HttpContext.Current.ApplicationInstance.CompleteRequest(); }
рдореИрдВрдиреЗ рдкреВрд░реЗ рдХреЛрдб рдХреЛ рдпрд╣рд╛рдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ - рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдФрд░ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ (рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдПрдХ рдЦрд╛рд▓реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде)
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
рдЯрд┐рдкреНрдкрдгреА:
- рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ VS2008 рдореЗрдВ SP2007 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реИрдмрд░ рдХреЗ рд▓рд┐рдП 2010 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, 2010 рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреЛрдб рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓, рдмрд┐рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ) рдЯреНрд░рд╛рдЗ-рдХреИрдЪ, рдЖрджрд┐ред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рд╡рд┐рдЪрд╛рд░ рджрд┐рдЦрд╛рдирд╛, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВред
- рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ SharePoint рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдПрдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЖрдо рдмрдВрдбрд▓ рд╣реИред
- рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреА рдЧрд▓рддрд┐рдпреЛрдВ рдкрд░ рдЖрдкрдХреА рд╕рд▓рд╛рд╣ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рд╕реБрдирдХрд░ рдЦреБрд╢ рд╣реЛрдКрдВрдЧрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред