Skip to content

Commit f07728d

Browse files
committed
ISSUE-CELLSCLOUD-13441: Add code examples for Cells Cloud SDKs.
1 parent a9a128d commit f07728d

10 files changed

+107
-34
lines changed

.github/workflows/sdkbuild2run.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,4 @@ jobs:
3737
go run .\Example_MergeExcelFiles.go
3838
go run .\Example_SplitExcelFiles.go
3939
go run .\Example_CreateReportFiles.go
40+
go run .\Example_Management.go

examples/Example_BatchProcessing.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ func main() {
1212
CompanySalesXlsx := "CompanySales.xlsx"
1313
RemoteFolder := "GoSDK"
1414
RemoteOutputFolder := "GoSDK/Output"
15+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
16+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1517
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
1618
_, httpResponse, err := instance.UploadFile(&UploadFileRequest{UploadFiles: CompanySalesXlsx, Path: RemoteFolder + "/" + CompanySalesXlsx})
1719
_, httpResponse, err = instance.UploadFile(&UploadFileRequest{UploadFiles: EmployeeSalesSummaryXlsx, Path: RemoteFolder + "/" + EmployeeSalesSummaryXlsx})
@@ -33,6 +35,7 @@ func main() {
3335
} else {
3436
println("Successful batch lock of Excel files.")
3537
}
38+
3639
// Batch unlock Excel files.
3740
_, httpResponse, err = instance.PostBatchUnlock(&PostBatchUnlockRequest{BatchLockRequest: &BatchLockRequest{SourceFolder: RemoteFolder, Password: "123456", OutFolder: RemoteOutputFolder, MatchCondition: &MatchConditionRequest{RegexPattern: "xlsx"}}})
3841
if err != nil {

examples/Example_CloudStorageManagement.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ import (
88
)
99

1010
func main() {
11+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
12+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1113
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
1214
RemoteFolder := "SDKGo"
1315
CompanySalesXlsx := "CompanySales.xlsx"
1416
EmployeeSalesSummaryXlsx := "EmployeeSalesSummary.xlsx"
1517

18+
// Check if file exists.
1619
objectExists, httpResponse, err := instance.ObjectExists(&ObjectExistsRequest{Path: RemoteFolder})
1720
if err != nil {
1821
fmt.Print(err)
@@ -23,20 +26,26 @@ func main() {
2326
httpResponse, err = instance.CreateFolder(&CreateFolderRequest{Path: RemoteFolder})
2427
}
2528
}
26-
29+
// Upload source files.
2730
_, httpResponse, err = instance.UploadFile(&UploadFileRequest{UploadFiles: CompanySalesXlsx, Path: RemoteFolder + "/" + CompanySalesXlsx})
2831
_, httpResponse, err = instance.UploadFile(&UploadFileRequest{UploadFiles: EmployeeSalesSummaryXlsx, Path: RemoteFolder + "/" + EmployeeSalesSummaryXlsx})
29-
print("UploadFiles")
32+
// Create folder on cloud storage.
3033
httpResponse, err = instance.CreateFolder(&CreateFolderRequest{Path: RemoteFolder + "/CellsCloud"})
34+
// Move file to other folder on cloud storage.
3135
httpResponse, err = instance.MoveFile(&MoveFileRequest{SrcPath: RemoteFolder + "/" + CompanySalesXlsx, DestPath: RemoteFolder + "/CellsCloud/" + CompanySalesXlsx})
36+
// Copy a file to other file on cloud storage.
3237
httpResponse, err = instance.CopyFile(&CopyFileRequest{SrcPath: RemoteFolder + "/" + EmployeeSalesSummaryXlsx, DestPath: RemoteFolder + "/CellsCloud/" + EmployeeSalesSummaryXlsx})
38+
// Move folder on cloud storage.
3339
httpResponse, err = instance.MoveFolder(&MoveFolderRequest{SrcPath: RemoteFolder + "/CellsCloud", DestPath: RemoteFolder + "/CellsCloud2"})
40+
// Get files list in a folder.
3441
fileList, _, _ := instance.GetFilesList(&GetFilesListRequest{Path: RemoteFolder + "/CellsCloud2"})
3542
for index, storageFile := range fileList.Value {
3643
print("Get File")
3744
print(index)
3845
println(storageFile.Name)
3946
}
47+
// Delete folder on cloud storage.
4048
httpResponse, err = instance.DeleteFolder(&DeleteFolderRequest{Path: RemoteFolder + "/CellsCloud2"})
49+
// Delete file on cloud storage.
4150
httpResponse, err = instance.DeleteFile(&DeleteFileRequest{Path: RemoteFolder + "/" + CompanySalesXlsx})
4251
}

examples/Example_ConvertExcel.go

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,48 +11,81 @@ import (
1111
func main() {
1212
employeeSalesSummaryXlsx := "EmployeeSalesSummary.xlsx"
1313
remoteFolder := "GoSDK"
14+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
15+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1416
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
17+
18+
// Local file processing
1519
// Convert a local Excel file to another format file directly, save to local file.
1620
// Complete in one step.
1721
_, httpResponse, err := instance.ConvertSpreadsheet(&ConvertSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary.xlsx", Format: "pdf"}, []CellsCloudOption{{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary.pdf"}}...)
1822
// Completed in two steps
23+
// Convert a local Excel file to byte data.
1924
convertedData, httpResponse, err := instance.ConvertSpreadsheet(&ConvertSpreadsheetRequest{Spreadsheet: employeeSalesSummaryXlsx, Format: "pdf"})
2025
if err != nil {
2126
fmt.Print(err)
2227
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
2328
fmt.Print(httpResponse.StatusCode)
2429
} else {
30+
// 2 Save result to specified path.
2531
file, _ := os.OpenFile("EmployeeSalesSummary1.pdf", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
2632
file.Write(convertedData)
2733
defer file.Close()
2834
}
2935

30-
// Upload a local Excel file to Cells Cloud Storage.
36+
// Cloud file processing
37+
// Convert Cloud file to PDF
38+
// 1. Upload a local Excel file to Cells Cloud Storage.
3139
_, httpResponse, err = instance.UploadFile(&UploadFileRequest{UploadFiles: employeeSalesSummaryXlsx, Path: remoteFolder + "/" + employeeSalesSummaryXlsx})
32-
// Convert an Excel file of Cells Cloud to another format file.
33-
convertedData, httpResponse, err = instance.GetWorkbook(&GetWorkbookRequest{Name: employeeSalesSummaryXlsx, Format: "pdf", Folder: remoteFolder})
40+
// 2. Convert an Excel file of Cells Cloud to another format file.
41+
// 2.1 Save an Excel file of Cells Cloud as another format file of Cells Cloud.
42+
_, httpResponse, err = instance.SaveSpreadsheetAs(&SaveSpreadsheetAsRequest{Name: employeeSalesSummaryXlsx, Format: "pdf", Folder: remoteFolder})
43+
if err != nil {
44+
println("Save as")
45+
fmt.Print(err)
46+
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
47+
fmt.Print(httpResponse.StatusCode)
48+
}
49+
50+
// 2.2 Export a worksheet of a cloud Excel file to another format file directly. Set query parameters : print_headings, one_page_per_sheet
51+
convertedData, httpResponse, err = instance.ExportWorksheetAsFormat(&ExportWorksheetAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "pdf"}, []CellsCloudOption{{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Sales.pdf"}}...)
3452
if err != nil {
3553
fmt.Print(err)
3654
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
3755
fmt.Print(httpResponse.StatusCode)
3856
} else {
39-
file, _ := os.OpenFile("EmployeeSalesSummary2.pdf", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
57+
file, _ := os.OpenFile("EmployeeSalesSummary_Sale.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
4058
file.Write(convertedData)
4159
defer file.Close()
4260
}
43-
//Save an Excel file of Cells Cloud as another format file of Cells Cloud.
44-
_, httpResponse, err = instance.SaveSpreadsheetAs(&SaveSpreadsheetAsRequest{Name: employeeSalesSummaryXlsx, Format: "pdf", Folder: remoteFolder})
61+
62+
// 2.3 Export a cloud Excel file's specified worksheet page index directly to another format file. Set query parameters : print_headings, one_page_per_sheet
63+
convertedData, _, _ = instance.ExportWorksheetAsFormat(&ExportWorksheetAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "png"})
64+
file, _ := os.OpenFile("EmployeeSalesSummary_Sale_1.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
65+
file.Write(convertedData)
66+
defer file.Close()
67+
// 2.4 Export a cloud Excel file's specified worksheet cells area directly to another format file. Set query parameters : print_headings, one_page_per_sheet
68+
convertedData, _, _ = instance.ExportRangeAsFormat(&ExportRangeAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "png", Range_: "B5:L36"})
69+
file, _ = os.OpenFile("EmployeeSalesSummary_Sale_Area.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
70+
file.Write(convertedData)
71+
defer file.Close()
72+
73+
// Get convert result
74+
convertedData, httpResponse, err = instance.GetWorkbook(&GetWorkbookRequest{Name: employeeSalesSummaryXlsx, Format: "pdf", Folder: remoteFolder})
4575
if err != nil {
46-
println("Save as")
4776
fmt.Print(err)
4877
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
4978
fmt.Print(httpResponse.StatusCode)
79+
} else {
80+
file, _ := os.OpenFile("EmployeeSalesSummary2.pdf", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
81+
file.Write(convertedData)
82+
defer file.Close()
5083
}
5184
// Convert a local Excel file to pdf file directly. The return value is a file info object, which includes of file name, file content(base64string), and file size.
5285
var fileInfo FileInfo
5386
fileInfo, httpResponse, err = instance.PostConvertWorkbookToPDF(&PostConvertWorkbookToPDFRequest{LocalPath: employeeSalesSummaryXlsx})
5487
decodedData, err := base64.StdEncoding.DecodeString(string(fileInfo.FileContent))
55-
file, _ := os.OpenFile("EmployeeSalesSummary3.pdf", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
88+
file, _ = os.OpenFile("EmployeeSalesSummary3.pdf", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
5689
file.Write(decodedData)
5790
defer file.Close()
5891
//Convert a local Excel file to pdf file directly. The return value is a file info object, which includes of file name, file content(base64string), and file size.
@@ -85,26 +118,5 @@ func main() {
85118
file, _ = os.OpenFile("EmployeeSalesSummary.html", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
86119
file.Write(decodedData)
87120
defer file.Close()
88-
// Convert a worksheet of a local Excel file to another format file directly. Set query parameters : print_headings, one_page_per_sheet
89-
convertedData, httpResponse, err = instance.ExportWorksheetAsFormat(&ExportWorksheetAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "pdf"}, []CellsCloudOption{{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Sales.pdf"}}...)
90-
if err != nil {
91-
fmt.Print(err)
92-
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
93-
fmt.Print(httpResponse.StatusCode)
94-
} else {
95-
file, _ := os.OpenFile("EmployeeSalesSummary_Sale.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
96-
file.Write(convertedData)
97-
defer file.Close()
98-
}
99-
// Convert a local Excel file's specified worksheet page index directly to another format file. Set query parameters : print_headings, one_page_per_sheet
100-
convertedData, _, _ = instance.ExportWorksheetAsFormat(&ExportWorksheetAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "png"})
101-
file, _ = os.OpenFile("EmployeeSalesSummary_Sale_1.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
102-
file.Write(convertedData)
103-
defer file.Close()
104-
//Convert a local Excel file's specified worksheet cells area directly to another format file. Set query parameters : print_headings, one_page_per_sheet
105-
convertedData, _, _ = instance.ExportRangeAsFormat(&ExportRangeAsFormatRequest{Name: employeeSalesSummaryXlsx, Worksheet: "Sales", Folder: remoteFolder, Format: "png", Range_: "B5:L36"})
106-
file, _ = os.OpenFile("EmployeeSalesSummary_Sale_Area.png", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644)
107-
file.Write(convertedData)
108-
defer file.Close()
109121

110122
}

examples/Example_CreateReportFiles.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import (
88
)
99

1010
func main() {
11+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
12+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1113
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
12-
//instance = NewCellsApiService(os.Getenv("CellsCloudTestClientId"), os.Getenv("CellsCloudTestClientSecret"), "http://localhost:47987", "v3.0")
1314
reportTemplate := "ProductSalteReportTemplate.xlsx"
1415
reportName := "ProductSaleReport.xlsx"
1516
sheetName := "SalesData"

examples/Example_Management.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package main
2+
3+
import (
4+
"os"
5+
6+
. "github.com/aspose-cells-cloud/aspose-cells-cloud-go/v25"
7+
)
8+
9+
func main() {
10+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
11+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
12+
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
13+
// Local file processing with cells cloud services.
14+
// Add new worksheet to an Excel file.
15+
instance.AddWorksheetToSpreadsheet(&AddWorksheetToSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary.xlsx", SheetName: "Sheet1", Position: 0}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Output.xlsx"})
16+
// Rename worksheet in an Excel file.
17+
instance.RenameWorksheetInSpreadsheet(&RenameWorksheetInSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary_Output.xlsx", SourceName: "Sheet1", TargetName: "NewSheet"}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Output.xlsx"})
18+
// Move worksheet to new position in an Excel file.
19+
instance.MoveWorksheetInSpreadsheet(&MoveWorksheetInSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary_Output.xlsx", Worksheet: "NewSheet", Position: 2}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Output.xlsx"})
20+
// Delete worksheet in an Excel file.
21+
instance.DeleteWorksheetFromSpreadsheet(&DeleteWorksheetFromSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary_Output.xlsx", SheetName: "NewSheet"}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Output.xlsx"})
22+
// Compress an Excel file.
23+
instance.CompressSpreadsheet(&CompressSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary_Output.xlsx", Level: 9}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Output.xlsx"})
24+
}

examples/Example_MergeExcelFiles.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ func main() {
1212
EmployeeSalesSummaryXlsx := "EmployeeSalesSummary.xlsx"
1313
CompanySalesXlsx := "CompanySales.xlsx"
1414
RemoteFolder := "GoSDK"
15-
15+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
16+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1617
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
1718
//Merge an Excel or other spreadsheet file into an existing Excel file online.
1819
_, httpResponse, err := instance.UploadFile(&UploadFileRequest{UploadFiles: CompanySalesXlsx, Path: RemoteFolder + "/" + CompanySalesXlsx})

examples/Example_Protection.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package main
2+
3+
import (
4+
"os"
5+
6+
. "github.com/aspose-cells-cloud/aspose-cells-cloud-go/v25"
7+
)
8+
9+
func main() {
10+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
11+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
12+
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
13+
// Local file processing with cells cloud services.
14+
// Protect an Excel file.
15+
instance.ProtectSpreadsheet(&ProtectSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary.xlsx", Password: "123456"}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_Lock.xlsx"})
16+
// Unprotect an Excel file.
17+
instance.UnprotectSpreadsheet(&UnprotectSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary_Lock.xlsx", Password: "123456"}, CellsCloudOption{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary_unlock.xlsx"})
18+
19+
}

examples/Example_QuickStart.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import (
88
)
99

1010
func main() {
11+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
12+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1113
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
1214
_, httpResponse, err := instance.ConvertSpreadsheet(&ConvertSpreadsheetRequest{Spreadsheet: "EmployeeSalesSummary.xlsx", Format: "pdf"}, []CellsCloudOption{{OptionName: "LocalOutPath", OptionValue: "EmployeeSalesSummary.pdf"}}...)
1315
if err != nil {

examples/Example_SplitExcelFiles.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ func main() {
1212
EmployeeSalesSummaryXlsx := "EmployeeSalesSummary.xlsx"
1313
CompanySalesXlsx := "CompanySales.xlsx"
1414
RemoteFolder := "GoSDK"
15-
15+
// If no environment variables are configured, please obtain the ClientId and ClientSecret from https://dashboard.aspose.cloud/#/applications and replace the following values:
16+
// instance := NewCellsApiService('YourClientId','YourClientSecret')
1617
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"))
1718

1819
//Splitting an Excel or other spreadsheet file to another format files online.

0 commit comments

Comments
 (0)