Beispiel #1
0
        public static void ExcelExport(ObjectListView olv, string defaultName)
        {
            SLDocument sl    = new SLDocument();
            SLStyle    style = sl.CreateStyle();

            for (int i = 1; i <= olv.Columns.Count; ++i)
            {
                sl.SetCellValue(1, i, olv.Columns[i - 1].Text);
            }

            for (int i = 1; i <= olv.Columns.Count; ++i)
            {
                for (int j = 1; j <= olv.Items.Count; ++j)
                {
                    string cellVal        = olv.Items[j - 1].SubItems[i - 1].Text;
                    int    cellValNumeric = -1;
                    if (int.TryParse(cellVal, out cellValNumeric))
                    {
                        sl.SetCellValue(j + 1, i, cellValNumeric);
                    }
                    else
                    {
                        sl.SetCellValue(j + 1, i, cellVal);
                    }

                    System.Drawing.Color backColor = olv.Items[j - 1].BackColor;
                    System.Drawing.Color foreColor = olv.Items[j - 1].ForeColor;
                    style.Fill.SetPattern(PatternValues.Solid, backColor, foreColor);

                    sl.SetCellStyle(j + 1, i, style);

                    SLTable tbl = sl.CreateTable(1, 1, olv.Items.Count + 1, olv.Columns.Count);
                    // Синий
                    //tbl.SetTableStyle(SLTableStyleTypeValues.Medium2);
                    // Зеленый
                    //tbl.SetTableStyle(SLTableStyleTypeValues.Medium4);
                    // Красный
                    //tbl.SetTableStyle(SLTableStyleTypeValues.Medium3);
                    tbl.Sort(1, false);
                    sl.InsertTable(tbl);
                }
            }

            SaveFileDialog saveFileDialog1 = new SaveFileDialog()
            {
                Filter   = "XLS Format|*.xlsx",
                FileName = defaultName + " " + GetCurrentDate() + ".xlsx",
                Title    = "Экспорт ... "
            };

            DialogResult dResult = saveFileDialog1.ShowDialog();

            if (dResult == DialogResult.OK)
            {
                sl.SaveAs(saveFileDialog1.FileName);
                Process.Start(saveFileDialog1.FileName);
            }
        }
Beispiel #2
0
        private void OpenImageToXLSReporteGrafico(List <EstadoCitaCortoDTO> EstadosCitas, byte[] Contenido, string Excel)
        {
            using (var sl = new SLDocument())
            {
                var pic = new SLPicture(Contenido, ImagePartType.Png);
                pic.SetPosition(3, 2);
                sl.InsertPicture(pic);

                sl.RenameWorksheet(SLDocument.DefaultFirstSheetName, "Grafica UADyCS");
                sl.AddWorksheet("Tabla Reporte");
                sl.SelectWorksheet("Tabla Reporte");

                int filaInicio          = 6;
                int numeroColumnaInicio = 4;
                int numeroColumnaCuerpo = numeroColumnaInicio;
                int numeroFila          = filaInicio;

                sl.SetCellValue(numeroFila - 2, numeroColumnaInicio, "Reporte UADyCS");
                sl.SetCellValue(numeroFila, numeroColumnaInicio, "UADyCS");

                EstadosCitas.ForEach(fila =>
                {
                    numeroColumnaCuerpo = numeroColumnaInicio + 1;

                    if (numeroFila == filaInicio)
                    {
                        fila.Valores.ForEach(estado => {//Descripcion del estado=> solicitado,atendido,..
                            sl.SetCellValue(numeroFila, numeroColumnaCuerpo, estado.Item1); numeroColumnaCuerpo++;
                        });
                    }

                    numeroFila++;

                    //Nombre de la UADyCS
                    sl.SetCellValue(numeroFila, numeroColumnaInicio, fila.Descripcion);

                    numeroColumnaCuerpo = numeroColumnaInicio;

                    fila.Valores.ForEach(estado => {
                        numeroColumnaCuerpo++;

                        //Cantidad del estado
                        sl.SetCellValue(numeroFila, numeroColumnaCuerpo, estado.Item2);
                    });
                });

                SLTable tbl = sl.CreateTable(filaInicio, numeroColumnaInicio, numeroFila, numeroColumnaCuerpo);
                tbl.SetTableStyle(SLTableStyleTypeValues.Medium9);
                sl.InsertTable(tbl);

                sl.AutoFitColumn(numeroColumnaInicio, numeroColumnaCuerpo);

                sl.SaveAs(Excel);
                sl.Dispose();
            }
        }
Beispiel #3
0
        public static void ExcelExport(ObjectListView olv, string defaultName)
        {
            SLDocument sl    = new SLDocument();
            SLStyle    style = sl.CreateStyle();

            for (int i = 1; i <= olv.Columns.Count; ++i)
            {
                sl.SetCellValue(1, i, olv.Columns[i - 1].Text);
            }

            for (int i = 1; i <= olv.Columns.Count; ++i)
            {
                for (int j = 1; j <= olv.Items.Count; ++j)
                {
                    string cellVal        = olv.Items[j - 1].SubItems[i - 1].Text;
                    int    cellValNumeric = -1;
                    if (int.TryParse(cellVal, out cellValNumeric))
                    {
                        sl.SetCellValue(j + 1, i, cellValNumeric);
                    }
                    else
                    {
                        sl.SetCellValue(j + 1, i, cellVal);
                    }

                    /*if (StgGetInt("ExStyle") == 0)
                     * {
                     *  System.Drawing.Color backColor = olv.Items[j - 1].BackColor;
                     *  System.Drawing.Color foreColor = olv.Items[j - 1].ForeColor;
                     *  style.Fill.SetPattern(PatternValues.Solid, backColor, foreColor);
                     *
                     *  sl.SetCellStyle(j + 1, i, style);
                     * }*/
                }
            }

            SLTable tbl = sl.CreateTable(1, 1, olv.Items.Count + 1, olv.Columns.Count);

            // Синий
            tbl.SetTableStyle(SLTableStyleTypeValues.Medium2);
            // Зеленый
            //     tbl.SetTableStyle(SLTableStyleTypeValues.Medium4);
            // Красный
            //    tbl.SetTableStyle(SLTableStyleTypeValues.Medium3);
            // Никакой

            tbl.Sort(1, false);
            sl.InsertTable(tbl);
            string filePath = Path.GetDirectoryName(Application.ExecutablePath) + "\\" + defaultName + ".xlsx";

            sl.SaveAs(filePath);
            Process.Start(filePath);
        }
Beispiel #4
0
        public void Save(string filePath)
        {
            DataTable tempTable = new DataTable();

            for (int i = 0; i < this.Columns.Count; i++)
            {
                tempTable.Columns.Add(this.Columns[i].ColumnName);
            }

            for (int i = 0; i < this.Rows.Count; i++)
            {
                DataRow row = tempTable.NewRow();
                for (int j = 0; j < this.Columns.Count; j++)
                {
                    row[j] = this.Rows[i][j].ToString();
                }
                tempTable.Rows.Add(row);
            }

            SLDocument sL                = new SLDocument();
            int        iStartRowIndex    = 1;
            int        iStartColumnIndex = 1;

            sL.ImportDataTable(iStartRowIndex, iStartColumnIndex, tempTable, true);

            SLStyle style = sL.CreateStyle();

            int iEndRowIndex    = iStartRowIndex + tempTable.Rows.Count;
            int iEndColumnIndex = iStartColumnIndex + tempTable.Columns.Count - 1;

            sL.AutoFitColumn(iStartColumnIndex, iEndColumnIndex, 500);

            SLTable table = sL.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);

            table.SetTableStyle(SLTableStyleTypeValues.Medium17);
            sL.InsertTable(table);

            try
            {
                sL.SaveAs(filePath);
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
        }
Beispiel #5
0
        internal void FormatColumns <T>(List <PropertyInfo> properties, IEnumerable <T> records, bool makeTable, IEnumerable <int> hideColumns, DisplayNoWrap[] wrapAttributes, DisplayWidth[] widthAttributes)
        {
            int skippedColumns = 0;
            int columnIndex    = 0;

            for (int k = 0; k < properties.Count; k++)
            {
                if (!hideColumns.Contains(k))
                {
                    SLStyle style = new SLStyle();
                    if (wrapAttributes[k] != null)
                    {
                        style.SetWrapText(false);
                    }
                    else
                    {
                        style.SetWrapText(true);
                    }
                    var widthAttribute = widthAttributes[k];
                    if (widthAttribute != null)
                    {
                        doc.SetColumnWidth(columnIndex + 1, widthAttribute.Width);
                    }
                    doc.SetColumnStyle(columnIndex + 1, style);
                    columnIndex++;
                }
                else
                {
                    skippedColumns++;
                }
            }
            if (makeTable)
            {
                SLTable tbl = doc.CreateTable(1, 1, records.Count() + 1, properties.Count() - skippedColumns);
                tbl.SetTableStyle(SLTableStyleTypeValues.Light1);
                doc.InsertTable(tbl);
            }
        }
        public void NilaiToExcel(string status, string kodeKelas, string kodeSemester)
        {
            killExcelProcess();
            Stopwatch sw   = Stopwatch.StartNew();
            string    path = "Temp\\Data Nilai";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            SLDocument sl = new SLDocument();

            dbTabel = "detailmapelkelas INNER JOIN mapel USING (kode_mapel) INNER JOIN guru USING (id_guru)";
            field   = "kode_mapel as 'Kode Mapel', nama_guru as 'Nama Guru', mata_pelajaran as 'Mata Pelajaran', " +
                      "kategori_mapel as 'Kategori', nama_guru as 'Pengajar'";
            cond = "kode_kelas = '" + kodeKelas + "'";
            dt   = db.GetDataTable(field, dbTabel, cond);

            foreach (DataRow row in dt.Rows)
            {
                DataTable result = new DataTable();
                result.Columns.Add("No.", typeof(int));
                result.Columns.Add("No. Induk", typeof(string)); result.Columns.Add("Nama Siswa", typeof(string));
                result.Columns.Add("Skala (P)", typeof(string)); result.Columns.Add("Angka (P)", typeof(string));
                result.Columns.Add("Predikat (P)", typeof(string)); result.Columns.Add("Deskripsi (P)", typeof(string));
                result.Columns.Add("Skala (K)", typeof(string)); result.Columns.Add("Angka (K)", typeof(string));
                result.Columns.Add("Predikat (K)", typeof(string)); result.Columns.Add("Deskripsi (K)", typeof(string));
                result.Columns.Add("Skala (S)", typeof(string)); result.Columns.Add("SB/B/C/K", typeof(string));
                result.Columns.Add("Deskripsi (S)", typeof(string));

                dbTabel = "nilai INNER JOIN siswa USING (nis_siswa) INNER JOIN mapel USING (kode_mapel) INNER JOIN kelas USING (kode_kelas)";
                field   = "nis_siswa as 'NIS Siswa', nama_siswa as 'Nama Siswa', p_skala as 'Skala (P)', p_ang as 'Angka (P)', " +
                          "p_pred as 'Predikat (P)', p_desk as 'Deskripsi (P)', k_skala as 'Skala (K)', k_ang as 'Angka (K)', " +
                          "k_pred as 'Predikat (K)', k_desk as 'Deskripsi (K)', s_skala as 'Skala (S)', s_sikap as 'SB/B/C/K', " +
                          "s_desk as 'Deskripsi (S)'";
                cond = "status_siswa != '" + status + "' AND tahun_ajaran = '" + getTahun + "' AND kode_semester = '" + kodeSemester +
                       "' AND kode_kelas = '" + kodeKelas + "' AND kode_mapel ='" + row["Kode Mapel"].ToString() + "'";
                query  = "SELECT " + field + " FROM " + dbTabel + " WHERE " + cond;
                myComm = new MySqlCommand(query, myConn);
                myConn.Open();
                myReader = myComm.ExecuteReader();
                i        = 1;
                while (myReader.Read())
                {
                    result.Rows.Add(new object[]
                    {
                        i.ToString(), myReader.GetString("NIS Siswa"), myReader.GetString("Nama Siswa"),
                        myReader.GetString("Skala (P)"), myReader.GetString("Angka (P)"),
                        myReader.GetString("Predikat (P)"), myReader.GetString("Deskripsi (P)"),
                        myReader.GetString("Skala (K)"), myReader.GetString("Angka (K)"),
                        myReader.GetString("Predikat (K)"), myReader.GetString("Deskripsi (K)"),
                        myReader.GetString("Skala (S)"), myReader.GetString("SB/B/C/K"),
                        myReader.GetString("Deskripsi (P)")
                    });
                    i++;
                }
                myConn.Close();
                sl.AddWorksheet(row["Kode Mapel"].ToString());

                int iStartRowIndex    = 9;
                int iStartColumnIndex = 1;
                sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, result, true);
                style = sl.CreateStyle();
                int iEndRowIndex    = iStartRowIndex + result.Rows.Count + 1 - 1;
                int iEndColumnIndex = iStartColumnIndex + result.Columns.Count - 1;
                table = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);
                table.SetTableStyle(SLTableStyleTypeValues.Light10);
                sl.InsertTable(table);

                int iStartColumnCount = 1;
                int iStartRowCount    = 1;
                int iEndColumnCount   = result.Columns.Count;
                int iEndRowCount      = result.Rows.Count;
                style = sl.CreateStyle();
                style.Font.FontName = "Times New Roman";
                style.Font.FontSize = 12;
                sl.AutoFitColumn(iStartColumnCount, iEndColumnCount);
                sl.SetColumnStyle(iStartColumnCount, iEndColumnCount, style);

                query = "Select nama_kelas from kelas where kode_kelas = '" + kodeKelas + "'";
                myConn.Open();
                myComm   = new MySqlCommand(query, myConn);
                myReader = myComm.ExecuteReader();
                while (myReader.Read())
                {
                    nama_kelas = myReader.GetString("nama_kelas");
                }
                myConn.Close();

                style = sl.CreateStyle();
                style.Alignment.Horizontal      = HorizontalAlignmentValues.Center;
                style.Alignment.JustifyLastLine = true;
                style.Alignment.ShrinkToFit     = true;
                style.Font.FontSize             = 18;
                style.Font.Bold     = true;
                style.Font.FontName = "Times New Roman";
                sl.MergeWorksheetCells(1, 1, 1, 13);
                sl.SetCellValue(1, 1, "DATA NILAI SISWA KELAS " + nama_kelas);
                sl.SetCellStyle(1, 1, style);
                sl.MergeWorksheetCells(2, 1, 2, 13);
                sl.SetCellValue(2, 1, "TAHUN AJARAN " + getTahun);
                sl.SetCellStyle(2, 1, style);
                sl.MergeWorksheetCells(3, 1, 3, 7);

                style = sl.CreateStyle();
                style.Alignment.Horizontal      = HorizontalAlignmentValues.Left;
                style.Alignment.JustifyLastLine = true;
                style.Alignment.ShrinkToFit     = true;
                style.Font.FontSize             = 12;
                style.Font.Bold     = true;
                style.Font.FontName = "Times New Roman";
                sl.MergeWorksheetCells(4, 1, 4, 2);
                sl.SetCellValue(4, 1, "Pengajar");
                sl.SetCellStyle(4, 1, style);
                sl.MergeWorksheetCells(4, 3, 4, 7);
                sl.SetCellValue(4, 3, row["Pengajar"].ToString());
                sl.SetCellStyle(4, 3, style);
                sl.MergeWorksheetCells(5, 1, 5, 2);
                sl.SetCellValue(5, 1, "Mata Pelajaran");
                sl.SetCellStyle(5, 1, style);
                sl.MergeWorksheetCells(5, 3, 5, 7);
                sl.SetCellValue(5, 3, row["Mata Pelajaran"].ToString());
                sl.SetCellStyle(5, 3, style);
                sl.MergeWorksheetCells(6, 1, 6, 2);
                sl.SetCellValue(6, 1, "Kategori");
                sl.SetCellStyle(6, 1, style);
                sl.MergeWorksheetCells(6, 3, 6, 4);
                sl.SetCellValue(6, 3, row["Kategori"].ToString());
                sl.SetCellStyle(6, 3, style);
                sl.MergeWorksheetCells(7, 1, 7, 2);
                sl.SetCellValue(7, 1, "Tahun Ajaran");
                sl.SetCellStyle(7, 1, style);
                sl.MergeWorksheetCells(7, 3, 7, 4);
                sl.SetCellValue(7, 3, getTahun);
                sl.SetCellStyle(7, 3, style);
            }
            sl.DeleteWorksheet(SLDocument.DefaultFirstSheetName);
            filename = "Data Nilai Kelas " + nama_kelas + " [" + kodeSemester + "-" + getTahun.ToString().Replace("/", "-") + "].xlsx";
            sl.SaveAs(appRootdir() + "\\" + path + "\\" + filename);
            sw.Stop();
            MessageBox.Show("Selesai dalam: " + Convert.ToInt16(sw.Elapsed.TotalSeconds) + " detik");
        }
        public void KelasToExcel(string status)
        {
            killExcelProcess();
            Stopwatch sw   = Stopwatch.StartNew();
            string    path = "Temp\\Data Kelas";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            SLDocument sl = new SLDocument();

            dbTabel = "kelas INNER JOIN guru USING (id_guru)";
            field   = "kode_kelas as 'Kode Kelas', nama_kelas as 'Nama Kelas', nama_guru as 'Wali Kelas'";
            cond    = "status_kelas= '" + status + "' AND tahun_ajaran = '" + getTahun + "'";
            dt      = db.GetDataTable(field, dbTabel, cond);

            foreach (DataRow row in dt.Rows)
            {
                DataTable result = new DataTable();
                result.Columns.Add("No", typeof(string));
                result.Columns.Add("No. Induk", typeof(string));
                result.Columns.Add("NISN", typeof(string));
                result.Columns.Add("Nama Siswa", typeof(string));
                result.Columns.Add("Tanggal Lahir", typeof(string));
                result.Columns.Add("No. Telp. Siswa", typeof(string));
                result.Columns.Add("Nama Ayah", typeof(string));
                result.Columns.Add("Alamat Siswa", typeof(string));

                dbTabel = "detailkelassiswa INNER JOIN siswa USING (nis_siswa) INNER JOIN orangtua USING (nis_siswa)";
                field   = "detailkelassiswa.nis_siswa as 'NIS', nisn_siswa as 'NISN', nama_siswa as 'Nama Siswa', " +
                          "tanggal_lahir as 'Tanggal Lahir', siswa.no_telp as 'No. Telp. Siswa', nama_ayah as 'Nama Ayah', alamat as 'Alamat Siswa'";
                cond = "detailkelassiswa.kode_kelas= '" + row["Kode Kelas"].ToString() +
                       "' AND (keterangan = 'Data Siswa' OR keterangan = 'Data Kelas')";

                query  = "SELECT " + field + " FROM " + dbTabel + " WHERE " + cond;
                myComm = new MySqlCommand(query, myConn);
                myConn.Open();
                myReader = myComm.ExecuteReader();
                i        = 1;
                while (myReader.Read())
                {
                    result.Rows.Add(new object[] {
                        i.ToString(), myReader.GetString("NIS"), myReader.GetString("NISN"),
                        myReader.GetString("Nama Siswa"), myReader.GetString("Tanggal Lahir"),
                        myReader.GetString("No. Telp. Siswa"), myReader.GetString("Nama Ayah"),
                        myReader.GetString("Alamat Siswa")
                    });
                    i++;
                }
                myConn.Close();

                sl.AddWorksheet(row["Nama Kelas"].ToString());

                int iStartRowIndex    = 7;
                int iStartColumnIndex = 1;
                sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, result, true);
                style = sl.CreateStyle();
                int iEndRowIndex    = iStartRowIndex + result.Rows.Count + 1 - 1;
                int iEndColumnIndex = iStartColumnIndex + result.Columns.Count - 1;
                table = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);
                table.SetTableStyle(SLTableStyleTypeValues.Light10);
                sl.InsertTable(table);
                int iStartColumnCount = 1;
                int iStartRowCount    = 1;
                int iEndColumnCount   = result.Columns.Count;
                int iEndRowCount      = result.Rows.Count;
                style = sl.CreateStyle();
                style.Font.FontName = "Times New Roman";
                style.Font.FontSize = 12;
                sl.AutoFitColumn(iStartColumnCount, iEndColumnCount);
                sl.SetColumnStyle(iStartColumnCount, iEndColumnCount, style);

                style = sl.CreateStyle();
                style.Alignment.Horizontal      = HorizontalAlignmentValues.Center;
                style.Alignment.JustifyLastLine = true;
                style.Alignment.ShrinkToFit     = true;
                style.Font.FontSize             = 18;
                style.Font.Bold     = true;
                style.Font.FontName = "Times New Roman";
                sl.MergeWorksheetCells(1, 1, 1, 7);
                sl.SetCellValue(1, 1, "DATA KELAS SMA NEGERI 1 JAMPANGKULON");
                sl.SetCellStyle(1, 1, style);
                sl.MergeWorksheetCells(2, 1, 2, 7);
                sl.SetCellValue(2, 1, "TAHUN AJARAN " + getTahun);
                sl.SetCellStyle(2, 1, style);
                sl.MergeWorksheetCells(3, 1, 3, 7);

                style = sl.CreateStyle();
                style.Alignment.Horizontal      = HorizontalAlignmentValues.Left;
                style.Alignment.JustifyLastLine = true;
                style.Alignment.ShrinkToFit     = true;
                style.Font.FontSize             = 12;
                style.Font.Bold     = true;
                style.Font.FontName = "Times New Roman";
                sl.MergeWorksheetCells(4, 1, 4, 2);
                sl.SetCellValue(4, 1, "Nama Kelas");
                sl.SetCellStyle(4, 1, style);
                sl.MergeWorksheetCells(4, 3, 4, 4);
                sl.SetCellValue(4, 3, row["Nama Kelas"].ToString());
                sl.SetCellStyle(4, 3, style);
                sl.MergeWorksheetCells(5, 1, 5, 2);
                sl.SetCellValue(5, 1, "Wali Kelas");
                sl.SetCellStyle(5, 1, style);
                sl.MergeWorksheetCells(5, 3, 5, 4);
                sl.SetCellValue(5, 3, row["Wali Kelas"].ToString());
                sl.SetCellStyle(5, 3, style);
                sl.MergeWorksheetCells(6, 1, 6, 2);
                sl.SetCellValue(6, 1, "Tahun Ajaran");
                sl.SetCellStyle(6, 1, style);
                sl.MergeWorksheetCells(6, 3, 6, 4);
                sl.SetCellValue(6, 3, getTahun);
                sl.SetCellStyle(6, 3, style);
            }
            sl.DeleteWorksheet(SLDocument.DefaultFirstSheetName);
            filename = "Data Kelas [" + getTahun.ToString().Replace("/", "-") + "].xlsx";
            sl.SaveAs(appRootdir() + "\\" + path + "\\" + filename);

            sw.Stop();
            MessageBox.Show("Selesai dalam: " + Convert.ToInt16(sw.Elapsed.TotalSeconds) + " detik");
        }
        public void GuruToExcel(string status)
        {
            killExcelProcess();
            Stopwatch sw   = Stopwatch.StartNew();
            string    path = "Temp\\Data Guru";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            SLDocument sl = new SLDocument();

            sl.AddWorksheet(getTahun.ToString().Replace("/", "-"));
            sl.DeleteWorksheet(SLDocument.DefaultFirstSheetName);

            dt = new DataTable();
            dt.Columns.Add("No", typeof(string));
            dt.Columns.Add("Nama Guru", typeof(string));
            dt.Columns.Add("NIP", typeof(string));
            dt.Columns.Add("NUPTK", typeof(string));
            dt.Columns.Add("Keterangan", typeof(string));

            field   = "nama_guru as 'Nama Guru', nip as 'NIP', nuptk as 'NUPTK', keterangan as 'Keterangan'";
            dbTabel = "guru";
            cond    = "status_guru = '" + status + "' ORDER BY nip, nama_guru ASC";

            query  = "SELECT " + field + " FROM " + dbTabel + " WHERE " + cond;
            myComm = new MySqlCommand(query, myConn);
            myConn.Open();
            myReader = myComm.ExecuteReader();
            i        = 1;
            while (myReader.Read())
            {
                dt.Rows.Add(new object[] {
                    i.ToString(), myReader.GetString("Nama Guru"), myReader.GetString("NIP"),
                    myReader.GetString("NUPTK"), myReader.GetString("Keterangan")
                });
                i++;
            }
            myConn.Close();

            int iStartRowIndex    = 4;
            int iStartColumnIndex = 1;

            sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, dt, true);
            style = sl.CreateStyle();

            int iEndRowIndex    = iStartRowIndex + dt.Rows.Count + 1 - 1;
            int iEndColumnIndex = iStartColumnIndex + dt.Columns.Count - 1;

            table = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);
            table.SetTableStyle(SLTableStyleTypeValues.Light10);
            sl.InsertTable(table);

            int iStartColumnCount = 0;
            int iEndColumnCount   = dt.Columns.Count;
            int iEndRowCount      = dt.Rows.Count;

            style = sl.CreateStyle();
            style.Font.FontName = "Times New Roman";
            style.Font.FontSize = 12;
            sl.AutoFitColumn(iStartColumnCount, iEndColumnCount);
            sl.SetColumnStyle(iStartColumnCount, iEndColumnCount, style);

            style = sl.CreateStyle();
            style.Alignment.Horizontal      = HorizontalAlignmentValues.Center;
            style.Alignment.JustifyLastLine = true;
            style.Alignment.ShrinkToFit     = true;
            style.Font.FontSize             = 18;
            style.Font.Bold     = true;
            style.Font.FontName = "Times New Roman";
            sl.MergeWorksheetCells(1, 1, 1, 5);
            sl.SetCellValue(1, 1, "DATA GURU SMA NEGERI 1 JAMPANGKULON");
            sl.SetCellStyle(1, 1, style);
            sl.MergeWorksheetCells(2, 1, 2, 5);
            sl.SetCellValue(2, 1, "TAHUN AJARAN " + getTahun);
            sl.SetCellStyle(2, 1, style);
            filename = "Data Guru [" + getTahun.ToString().Replace("/", "-") + "].xlsx";
            sl.SaveAs(appRootdir() + "\\" + path + "\\" + filename);

            sw.Stop();
            MessageBox.Show("Selesai dalam: " + Convert.ToInt16(sw.Elapsed.TotalSeconds) + " detik");
        }
        public void SiswaToExcel(string status)
        {
            killExcelProcess();
            Stopwatch sw   = Stopwatch.StartNew();
            string    path = "Temp\\Data Siswa";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            SLDocument sl = new SLDocument();

            sl.AddWorksheet(getTahun.ToString().Replace("/", "-"));
            sl.DeleteWorksheet(SLDocument.DefaultFirstSheetName);

            dt = new DataTable();
            dt.Columns.Add("No", typeof(int)); dt.Columns.Add("Nama Siswa", typeof(string));
            dt.Columns.Add("NIS", typeof(string)); dt.Columns.Add("NISN", typeof(string));
            dt.Columns.Add("Tempat Lahir", typeof(string)); dt.Columns.Add("Tanggal Lahir", typeof(string));
            dt.Columns.Add("Jenis Kelamin", typeof(string)); dt.Columns.Add("Agama", typeof(string));
            dt.Columns.Add("Status", typeof(string)); dt.Columns.Add("Anak ke-", typeof(int));
            dt.Columns.Add("Alamat Siswa", typeof(string)); dt.Columns.Add("No. Telp. Rumah", typeof(string));
            dt.Columns.Add("Sekolah Asal", typeof(string)); dt.Columns.Add("Diterima di Kelas", typeof(string));
            dt.Columns.Add("Diterima Tanggal", typeof(string)); dt.Columns.Add("Nama Ayah", typeof(string));
            dt.Columns.Add("Nama Ibu", typeof(string)); dt.Columns.Add("Alamat Orangtua", typeof(string));
            dt.Columns.Add("No. Telp.", typeof(string)); dt.Columns.Add("Pekerjaan Ayah", typeof(string));
            dt.Columns.Add("Pekerjaan Ibu", typeof(string)); dt.Columns.Add("Nama Wali", typeof(string));
            dt.Columns.Add("Alamat Wali", typeof(string)); dt.Columns.Add("Pekerjaan Wali", typeof(string));

            myConn.Open();
            query = "SELECT siswa.nis_siswa as 'NIS', nisn_siswa as 'NISN', nama_siswa as 'Nama Siswa', tempat_lahir as " +
                    "'Tempat Lahir', tanggal_lahir as 'Tanggal Lahir', jenis_kelamin as 'Jenis Kelamin', kelas.nama_kelas " +
                    "as 'Diterima di Kelas', status_keluarga as 'Status Anak', anak_ke as 'Anak Ke-', agama as 'Agama', " +
                    "siswa.no_telp as 'No. Telp. Siswa', alamat as 'Alamat Siswa', asal_sekolah as 'Asal Sekolah', " +
                    "tanggal_masuk as 'Diterima Tanggal', nama_ayah as 'Nama Ayah', nama_ibu as 'Nama Ibu', " +
                    "pekerjaan_ayah as 'Pekerjaan Ayah', pekerjaan_ibu as 'Pekerjaan Ibu', orangtua.no_telp as " +
                    "'No. Telp. Ortu', alamat_ortu as 'Alamat Ortu', nama_wali as 'Nama Wali', pekerjaan_wali as " +
                    "'Pekerjaan Wali', alamat_wali as 'Alamat Wali' FROM detailkelassiswa INNER JOIN siswa ON " +
                    "siswa.nis_siswa = detailkelassiswa.nis_siswa INNER JOIN orangtua ON siswa.nis_siswa = orangtua.nis_siswa " +
                    "INNER JOIN kelas ON detailkelassiswa.kode_kelas = kelas.kode_kelas WHERE tahun_ajaran = '" + getTahun +
                    "' AND (detailkelassiswa.keterangan = 'Data Siswa' OR detailkelassiswa.keterangan = " +
                    "'Data Kelas') AND status_siswa = '" + status + "' ORDER BY siswa.nis_siswa";
            myComm   = new MySqlCommand(query, myConn);
            myReader = myComm.ExecuteReader();
            i        = 1;
            while (myReader.Read())
            {
                string diterima = myReader.GetString("Diterima Tanggal"); string tanggal_diterima = diterima.Substring(0, 2);
                string bulan_diterima = diterima.Substring(3, 2); string tahun_diterima = diterima.Substring(6, 4);
                string diterima_bulan = getBulan(bulan_diterima);
                string lahir = myReader.GetString("Tanggal Lahir"); string tanggal_lahir = lahir.Substring(0, 2);
                string bulan_lahir = lahir.Substring(3, 2); string tahun_lahir = lahir.Substring(6, 4);
                string lahir_bulan = getBulan(bulan_lahir);
                getLahir    = tanggal_lahir + " " + lahir_bulan + " " + tahun_lahir;
                getDiterima = tanggal_diterima + " " + diterima_bulan + " " + tahun_diterima;

                dt.Rows.Add(new object[]
                            { i,
                              myReader.GetString("Nama Siswa"), myReader.GetString("NIS"), myReader.GetString("NISN"),
                              myReader.GetString("Tempat Lahir"), getLahir, myReader.GetString("Jenis Kelamin"),
                              myReader.GetString("Agama"), myReader.GetString("Status Anak"), myReader.GetString("Anak ke-"),
                              myReader.GetString("Alamat Siswa"), myReader.GetString("No. Telp. Siswa"), myReader.GetString("Asal Sekolah"),
                              myReader.GetString("Diterima di Kelas"), getDiterima, myReader.GetString("Nama Ayah"),
                              myReader.GetString("Nama Ibu"), myReader.GetString("Alamat Ortu"), myReader.GetString("No. Telp. Ortu"),
                              myReader.GetString("Pekerjaan Ayah"), myReader.GetString("Pekerjaan Ibu"), myReader.GetString("Nama Wali"),
                              myReader.GetString("Alamat Wali"), myReader.GetString("Pekerjaan Wali") });
                i++;
            }
            myConn.Close();

            int iStartRowIndex    = 4;
            int iStartColumnIndex = 1;

            sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, dt, true);

            style = sl.CreateStyle();

            int iEndRowIndex    = iStartRowIndex + dt.Rows.Count + 1 - 1;
            int iEndColumnIndex = iStartColumnIndex + dt.Columns.Count - 1;

            table = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);
            table.SetTableStyle(SLTableStyleTypeValues.Light10);
            sl.InsertTable(table);

            int iStartCount = 1;
            int iEndCount   = dt.Columns.Count;

            style = sl.CreateStyle();
            style.Font.FontName = "Times New Roman";
            style.Font.FontSize = 12;
            sl.AutoFitColumn(iStartCount, iEndCount);
            sl.SetColumnStyle(iStartCount, iEndCount, style);

            style = sl.CreateStyle();
            style.Alignment.Horizontal      = HorizontalAlignmentValues.Center;
            style.Alignment.JustifyLastLine = true;
            style.Alignment.ShrinkToFit     = true;
            style.Font.FontSize             = 18;
            style.Font.Bold     = true;
            style.Font.FontName = "Times New Roman";
            sl.MergeWorksheetCells(1, 1, 1, 10);
            sl.SetCellValue(1, 1, "DATA SISWA SMA NEGERI 1 JAMPANGKULON");
            sl.SetCellStyle(1, 1, style);
            sl.MergeWorksheetCells(2, 1, 2, 10);
            sl.SetCellValue(2, 1, "TAHUN AJARAN " + getTahun);
            sl.SetCellStyle(2, 1, style);
            filename = "Data Siswa [" + getTahun.ToString().Replace("/", "-") + "].xlsx";
            sl.SaveAs(appRootdir() + "\\" + path + "\\" + filename);

            sw.Stop();
            MessageBox.Show("Selesai dalam: " + Convert.ToInt16(sw.Elapsed.TotalSeconds) + " detik");
        }
Beispiel #10
0
        static void Main(string[] args)
        {
            Random rand = new Random();

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("Product", typeof(string));
            dt.Columns.Add("IP Address", typeof(string));
            dt.Columns.Add("Date (UTC)", typeof(DateTime));
            dt.Columns.Add("Size (MB)", typeof(double));
            dt.Columns.Add("Cost", typeof(decimal));

            for (int i = 0; i < 10; ++i)
            {
                dt.Rows.Add(string.Format("Prod{0}", rand.Next(5)),
                            string.Format("{0}.{1}.{2}.{3}", rand.Next(256), rand.Next(256), rand.Next(256), rand.Next(256)),
                            DateTime.UtcNow.AddDays(rand.NextDouble() * 20),
                            decimal.Round((decimal)(rand.NextDouble() * 500 + 200), 4),
                            decimal.Round((decimal)(rand.NextDouble() * 20 + 5), 2));
            }

            SLDocument sl = new SLDocument();

            int iStartRowIndex    = 3;
            int iStartColumnIndex = 2;

            sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, dt, true);

            // This part sets the style, but you might be using a template file,
            // so the styles are probably already set.

            SLStyle style = sl.CreateStyle();

            style.FormatCode = "yyyy/mm/dd hh:mm:ss";
            sl.SetColumnStyle(4, style);

            style.FormatCode = "#,##0.0000";
            sl.SetColumnStyle(5, style);

            style.FormatCode = "$#,##0.00";
            sl.SetColumnStyle(6, style);

            // The next part is optional, but it shows how you can set a table on your
            // data based on your DataTable's dimensions.

            // + 1 because the header row is included
            // - 1 because it's a counting thing, because the start row is counted.
            int iEndRowIndex = iStartRowIndex + dt.Rows.Count + 1 - 1;
            // - 1 because it's a counting thing, because the start column is counted.
            int     iEndColumnIndex = iStartColumnIndex + dt.Columns.Count - 1;
            SLTable table           = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);

            table.SetTableStyle(SLTableStyleTypeValues.Medium17);
            table.HasTotalRow = true;
            table.SetTotalRowFunction(5, SLTotalsRowFunctionValues.Sum);
            sl.InsertTable(table);

            sl.SaveAs("ImportDataTable.xlsx");

            Console.WriteLine("End of program");
            Console.ReadLine();
        }
Beispiel #11
0
        public void ShouldInsertTable()
        {
            SLDocument sl = new SLDocument();

            int i, j;

            for (i = 2; i <= 12; ++i)
            {
                for (j = 2; j <= 6; ++j)
                {
                    if (i == 2)
                    {
                        sl.SetCellValue(i, j, string.Format("Col{0}", j));
                    }
                    else
                    {
                        sl.SetCellValue(i, j, i * j);
                    }
                }
            }

            // tabular data ranges from B2:F12, inclusive of a header row
            SLTable tbl = sl.CreateTable("B2", "F12");

            tbl.SetTableStyle(SLTableStyleTypeValues.Medium9);
            sl.InsertTable(tbl);

            for (i = 2; i <= 12; ++i)
            {
                for (j = 9; j <= 15; ++j)
                {
                    if (i == 2)
                    {
                        sl.SetCellValue(i, j, string.Format("Col{0}", j));
                    }
                    else
                    {
                        sl.SetCellValue(i, j, i * j);
                    }
                }
            }

            tbl = sl.CreateTable("I2", "O12");

            tbl.HasTotalRow = true;
            // 1st table column, column I
            tbl.SetTotalRowLabel(1, "Totals");
            // 7th table column, column O
            tbl.SetTotalRowFunction(7, SLTotalsRowFunctionValues.Sum);
            tbl.SetTableStyle(SLTableStyleTypeValues.Dark4);

            tbl.HasBandedColumns     = true;
            tbl.HasBandedRows        = true;
            tbl.HasFirstColumnStyled = true;
            tbl.HasLastColumnStyled  = true;

            // sort by the 3rd table column (column K) in descending order
            tbl.Sort(3, false);

            sl.InsertTable(tbl);

            sl.SaveAs("Tables.xlsx");
        }
Beispiel #12
0
        /// <summary>
        /// Se exporta la informacion a un excel.
        /// </summary>
        /// <returns>Devuelve un booleano, true = se exporto correctamente, false = fallo al exportar el documento.</returns>
        public bool ExportarExcel()
        {
            SLDocument slDocumento = new SLDocument();
            SLStyle    slEstilo    = new SLStyle();
            int        indxFila    = 2;

            slEstilo.Font.FontSize = 12;
            slEstilo.Font.Bold     = true;
            using (SistemaPlanillaEntities PE = new SistemaPlanillaEntities())
            {
                var col = (from C in PE.Colaborador
                           select new expColaborador
                {
                    ID_Colaborador = C.ID_Colaborador,
                    Nombre = C.Nombre,
                    Genero = C.Genero,
                    Edad = C.Edad,
                    Fecha_Nacimiento = C.Fecha_Nacimiento,
                    Fecha_Ingreso = C.Fecha_Ingreso,
                    ID_Area = C.ID_Area,
                    ID_Puesto = C.ID_Puesto
                }).ToList();

                var usu = (from U in PE.Usuario
                           select new expUsuario
                {
                    ID_Usuario = U.ID_Usuario,
                    ID_Colaborador = U.ID_Colaborador,
                    Privilegios = U.Privilegios
                }).ToList();

                var are = (from A in PE.Area
                           select new expArea
                {
                    ID_Area = A.ID_Area,
                    Descripcion = A.Descripcion
                }).ToList();

                var pue = (from P in PE.Puesto
                           select new expPuesto
                {
                    ID_Puesto = P.ID_Puesto,
                    Descripcion = P.Descripcion
                }).ToList();

                slDocumento.SetCellValue(1, 1, "ID_Colaborador");
                slDocumento.SetCellValue(1, 2, "Nombre");
                slDocumento.SetCellValue(1, 3, "Genero");
                slDocumento.SetCellValue(1, 4, "Edad");
                slDocumento.SetCellValue(1, 5, "Fecha_Nacimiento");
                slDocumento.SetCellValue(1, 6, "Fecha_Ingreso");
                slDocumento.SetCellValue(1, 7, "Area");
                slDocumento.SetCellValue(1, 8, "Puesto");

                foreach (expColaborador colaborador in col)
                {
                    slDocumento.SetCellValue(indxFila, 1, colaborador.ID_Colaborador);
                    slDocumento.SetCellValue(indxFila, 2, colaborador.Nombre);
                    slDocumento.SetCellValue(indxFila, 3, colaborador.Genero);
                    slDocumento.SetCellValue(indxFila, 4, colaborador.Edad);
                    slDocumento.SetCellValue(indxFila, 5, colaborador.Fecha_Nacimiento);
                    slDocumento.SetCellValue(indxFila, 6, colaborador.Fecha_Ingreso);
                    slDocumento.SetCellValue(indxFila, 7, colaborador.ID_Area);
                    slDocumento.SetCellValue(indxFila, 8, colaborador.ID_Puesto);
                    indxFila++;
                }
                indxFila--;
                SLTable tbl = slDocumento.CreateTable("A1", "H" + indxFila);
                tbl.SetTableStyle(SLTableStyleTypeValues.Medium1);
                slDocumento.InsertTable(tbl);

                slDocumento.SetCellValue(1, 10, "ID_Usuario");
                slDocumento.SetCellValue(1, 11, "ID_Colaborador");
                slDocumento.SetCellValue(1, 12, "Contrasenna");
                slDocumento.SetCellValue(1, 13, "Privilegios");

                indxFila = 2;
                foreach (expUsuario usuario in usu)
                {
                    slDocumento.SetCellValue(indxFila, 10, usuario.ID_Usuario);
                    slDocumento.SetCellValue(indxFila, 11, usuario.ID_Colaborador);
                    slDocumento.SetCellValue(indxFila, 12, "*****");
                    slDocumento.SetCellValue(indxFila, 13, usuario.Privilegios);
                    indxFila++;
                }
                indxFila--;
                tbl = slDocumento.CreateTable("J1", "M" + indxFila);
                tbl.SetTableStyle(SLTableStyleTypeValues.Medium1);
                slDocumento.InsertTable(tbl);

                slDocumento.SetCellValue(1, 15, "ID_Area");
                slDocumento.SetCellValue(1, 16, "Descripcion");

                indxFila = 2;
                foreach (expArea area in are)
                {
                    slDocumento.SetCellValue(indxFila, 15, area.ID_Area);
                    slDocumento.SetCellValue(indxFila, 16, area.Descripcion);
                    indxFila++;
                }
                indxFila--;
                tbl = slDocumento.CreateTable("O1", "P" + indxFila);
                tbl.SetTableStyle(SLTableStyleTypeValues.Medium1);
                slDocumento.InsertTable(tbl);

                slDocumento.SetCellValue(1, 18, "ID_Puesto");
                slDocumento.SetCellValue(1, 19, "Descripcion");

                indxFila = 2;
                foreach (expPuesto puesto in pue)
                {
                    slDocumento.SetCellValue(indxFila, 18, puesto.ID_Puesto);
                    slDocumento.SetCellValue(indxFila, 19, puesto.Descripcion);
                    indxFila++;
                }
                indxFila--;
                tbl = slDocumento.CreateTable("R1", "S" + indxFila);
                tbl.SetTableStyle(SLTableStyleTypeValues.Medium1);
                slDocumento.InsertTable(tbl);
                slDocumento.AutoFitColumn("A", "S");
                string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Administracion Municipalidad";
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }
                slDocumento.SaveAs(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\Administracion Municipalidad\ListadoColaboradores.xlsx");
                MessageBox.Show("Datos exportados exitosamente en '" + filePath + "ListadoColaboradores.xlsx'");
            }
            return(true);
        }